本文只是博主在编写过程当中遇到的一些问题,欢迎你们留言继续补充! |
多半是由于jdk版本的缘由,调整一下便可:html
解决方法:Build Path ==> Configure Build Path… ==>Libraies==>找出其中带红叉那个jdk;Remove==>java
而后添加本身使用的jdk版本:Add Library==>JRE System Library==>选择本身的jre后点击完成;node
若仍然有错,那么:Add Library==>Server Runtime==>选择本身的tomcat后点击完成;mysql
若是这时你的项目里面没错了,可是项目上仍是有红叉的话,解决方案参考http://www.cnblogs.com/mmzs/p/8398109.htmljquery
开发一个Servlet,代码和配置路径都没问题,HttpServlet竟然报错了!吓坏我了,因而开始了,调错之路。linux
解决方法:鼠标右击项目工程——》Build Path——》点击comfigure Build Path进入----->选择java Bulid Path------>在左边点击Libraries--------->选择Add Librar,在Add Library中选择Server Runtime,点击下一步Next。------>选择Apache Tomcat,点击完成。------>这时,在Libraries下能够看到Apache Tomcat了就能够点击ok按钮------>代码出现的红扠都消失了。web
解决办法:将时间调大便可;而后保存修改,重启动Tomcat;若是仍然报Timeout错误,继续上述步骤将Timeouts下的Start值改大。spring
这个主要是在maven配置项目时出现的错误,相似上面的这种报错均可以用如下方式解决。sql
解决方案;项目右击-->properties-->Deployment Assembly-->add-->Java Build Path Entries-->导入全部依赖的Jar包,从新tomcat便可。数据库
解决办法: 使用 maven-compiler-plugin 将 maven 编译级别改成 jdk1.6 以上:
1 <build> 2 <plugins> 3 <!-- define the project compile level --> 4 <plugin> 5 <groupId>org.apache.maven.plugins</groupId> 6 <artifactId>maven-compiler-plugin</artifactId> 7 <version>2.3.2</version> 8 <configuration> 9 <source>1.7</source> 10 <target>1.7</target> 11 </configuration> 12 </plugin> 13 </plugins> 14 </build>
如若不能解决,试试如下办法:
maven配置文件不是最新的问题、maven中pom.xml的war报错解决方法
问题背景:
工程为maven工程,ContextLoaderListener类位于spring-web-3.1.0.RELEASE.jar包中。检查了maven的pom.xml,依赖引入正常。在工程Maven Dependencies视图中也能看到spring-web-3.1.0.RELEASE.jar包被正常引入进来了。
错误缘由:
进入到tomcat的部署路径.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\下检查了一下,发现工程部署后在WEB-INF文件夹下没有生成lib目录,正常状况下,会生成lib目录并把工程的全部依赖jar包都部署到该目录下。
解决方案:
1.右键点击项目--选择Properties
选择Deployment Assembly,在右边点击Add按钮,在弹出的窗口中选择Java Build Path Entries
2.点击Next,选择Maven Dependencies
3.点击Finish,而后能够看到已经把Maven Dependencies添加到Web应用结构中了
解决方案:
方案一:
eclipse中:
依次点击:Window--->Preferences--->Java--->Installed JREs--->选中本身使用的jre--->Edit--->在Default VM arguments这一栏添加以下内容:
-server -Xms512M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=512M -XX:MaxPermSize=512M
而后保存退出,重启tomcat生效。
方案二:
到tomcat/bin的目录下,找到catalina.bat文件(这个是window文件,若是是linux系统,则修改的是catalina.sh文件)用文本编辑器打开,
在
cygwin=false(linux系统)上
添加下面这一行:
JAVA_OPTS="-Xms1024m -Xmx4096m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=2048m -XX:MaxNewSize=256M"
解释一下各个参数:
-Xms4096M:初始化堆内存大小(注意,不加M的话单位是KB);
-Xmx4096M:最大堆内存大小;尽可能将Xms和Xmx两个设置为同样的,这样能够避免堆内存扩展,减小申请内存的时间;
-XX:PermSize=512M:初始化类加载内存池大小;
-XX:MaxPermSize=2048M:虚拟机的最大类加载内存池大小;尽可能将PermSize和MaxPermSize两个设置为同样的,这样能够避免扩展内存,其实也能够说不容许扩展内存;
-XX:MaxNewSize=256M:永久代的内存上限,在HotSpot虚拟中就至关于方法区的内存上限;
还有一个-server参数,是指启动jvm时以服务器方式启动,比客户端启动慢,但性能较好,你们能够本身选择。
错误缘由:jdk版本不一致问题
解决办法:将配置文件的jdk版本都统一
错误缘由:应该是和jar包冲突有关,但找了半天也没找着冲突的jar包是哪一个,可是jar包确定跟tomcat有关,后来有个帖子说IDE集成tomcat会有影响,这个报错以前,我刚把Eclipse配置了RuntimeEnvironments,因此我再次把他去掉,问题解决。
解决办法:Eclipse-->Windows-->perferences-->RuntimeEnvironments-->将tomcat去掉
解决办法:在项目上右键选择properties-->java build path-->Add Library...-->JRE System Library-->workspace default jre
解决办法:Window-->General-->Content Types-->Text-->Java Properties File-->*.properties(locked)--->Default encoding:UTF-8-->Update
详见:http://www.cnblogs.com/mmzs/p/8761417.html
网上网友的解决方法有: 大概3种,一种认为是要修改root的密码,一种认为是远程链接的权限被限制了,一种是经过写一个文件在Dos里面运行实现。
个人这个问题的一种解决方法:为当前用户(个人是root用户)添加对该表的管理员权限,便可;由于用了可视化的sql管理工具,很容易就解决了问题。
在确认本身的页面是使用utf-八、数据库和表的编码格式是utf8时;修改配置文件my.ini
[client] port=3306 [mysql] default-character-set=utf8
# The TCP/IP Port the MySQL Server will listen on
#Path to the database root # The default character set that will be used when a new schema or table is |
而后:开始-->运行-->输入:services.msc,打开“服务”,找到MySQL服务,右键重启便可。
也可在可视化工具中:查询数据库和表的编码格式
mysql> SHOW VARIABLES LIKE 'character%';
+--------------------------+-----------------------+ | Variable_name | Value +--------------------------+-----------------------+ | character_set_client | utf8 *客户端使用的编码 | | character_set_connection | utf8 数据库链接时使用的编码 | | character_set_database | utf8 数据库用的编码 | | character_set_results | utf8 *查询结果集用的编码 | | character_set_server | utf8 服务器使用的编码 | | character_set_system | utf8 系统使用的编码 |
告知服务器客户端使用的编码: SET character_set_client=gbk;
告知服务器返回的结果集请使用UTF8: SET character_set_results=gbk;
第一种状况: MySQL server PID file could not be found! [FAILED] Starting MySQL...The server quit without updating PID file [FAILED]ydata/centossz008.pid). 第二种状况: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
第二种状况:
错误缘由:权限问题
解决办法: chown -R mysql.mysql /software/mysql-5.5.32
第一种状况:
错误缘由:MySQL默认是开启了日志文件的,若是数据操做比较频繁就会产生大量的日志,在/usr/local/mysql/var/下面产生mysql- bin.0000* 相似的文件,并且通常都在几十MB到几个GB,更甚会吃掉整个硬盘空间,历来致使mysql没法启动或报错。
解决办法:
解决方法a、完全禁用MySQL日志:修改/etc/my.cnf 文件,找到
log-bin=mysql-bin
binlog_format=mixed
再这两行前面加上#,将其注释掉,再执行/etc/init.d/mysql restart便可。
若是实在想保留日志,能够在/etc/my.cnf里加入
expire_logs_days = 30
而后重启mysql,这样30天就会自动清理日志。
网上有很多这个缘由的解释,可是都不是我想说的。
data/mysql-bin.index 没有删除,data/mysql-bin.index是存放日志文件索引的文件,只删除了日志文件而没有对日志的索引文件作处理显然是不行的。
删除data/mysql-bin.index文件,再service mysqld start就能够了。
解决方法b:
首先确认你的jdk安装路径是配置的没问题:
配置JDK环境: |
JAVA_HOME:D:\software\JDK1.7 |
Path:%JAVA_HOME%\bin;%JAVA_HOME%\lib; |
而后出现的问题就是找不到jar包;
因此博主提供一种最简单的解决方式:将所需jar包导入到以下目录:D:/software/jdk1.7.0_79/jre/lib/ext 便可;
可是在直接使用java -jar Test.jar命令运行时,能够成功;
可是有时开启你的hdfs的集群时会报
相似的错;缘由就是包导入的问题,因此你须要将D:/software/jdk1.7.0_79/jre/lib/ext 下的某些包删掉便可;
### Error querying database. Cause: org.apache.ibatis.reflection.ReflectionException: Error instantiating class com.panda.test1.User with invalid types () or values (). Cause: java.lang.NoSuchMethodException: com.panda.test1.User.<init>()
错误缘由是,User.java类中没有默认的无参构造函数,加上无参构造函数后,错误消失。
解决方案:1. model中的get/set方法与成员变量不一。
2. 构造函数被重载过,可是没有空的构造函数。
3. 最好不要使用简单类型,如int, long等,改用对象模式Integer, Long等。在写条件查询时会用到判断<if xxx != null > … </if>的
错误缘由:Mybatis中jdbcType整形应该为NUMERIC
解决办法:
JDBC Type Java Type CHAR String VARCHAR String LONGVARCHAR String NUMERIC java.math.BigDecimal DECIMAL java.math.BigDecimal BIT boolean BOOLEAN boolean TINYINT byte SMALLINT short INTEGER int BIGINT long REAL float FLOAT double DOUBLE double BINARY byte[] VARBINARY byte[] LONGVARBINARY byte[] DATE java.sql.Date TIME java.sql.Time TIMESTAMP java.sql.Timestamp CLOB Clob BLOB Blob ARRAY Array DISTINCT mapping of underlying type STRUCT Struct REF Ref DATALINK java.net.URL[color=red][/color]
错误缘由:pojo类没有实现java.io.serializable序列化接口
解决办法:
将查询的结果都起别名,并且这些别名不是随便起的,别名对应于TCard类的属性,这样才能成功查到结果:
select a.T_ID as tid, a.START_NUM as startNum, a.END_NUM as endNum from T_CARD a
解决办法: 点这里
解决办法:将id换成onclick;从而定义一个函数,新建一个函数,这样子就能使用那个函数了。
错误提示:PageEntity pageEntity = (PageEntity) ((Map<String, Object>) map).get("pageEntity");
错误缘由:上面面的方式不能强转成实体类,由于LinkedHashMap和实体类都实现了序列化接口
解决办法:PageEntity pageEntity = JSONObject.toJavaObject((JSON) JSON.toJSON(((LinkedHashMap)map).get("pageEntity")), PageEntity.class);
错误缘由:.xml文件没加载起,极可能是配置出了问题,或者一不当心改动了配置
解决办法:http://www.cnblogs.com/mmzs/p/8757709.html
解决办法:检查构造方法
报错:(to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: com.mmzs.cloud.entity.User_$$_jvst73b_0["handler"])
解决办法:在实体类上面加上注解 @JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler" })