1.java.lang.UnsupportedClassVersionError: Bad version number in .class file
低版本的java 运行 高版本的 javac 编译的程序
工作空间设置
修改: window --> preferences -->java -->Installed JREs -->选择版本
window --> preferences -->java -->Compiler -->选择版本
或者 项目右键 设置
Java Compiler---选择版本
2.java.lang.IllegalAccessException
违法访问错误。当一个应用试图访问、修改某个类的域(Field)或者调用其方法,但是又违反域或方法的可见性声明,则抛出该异常。
检测 字段的 修饰符号 ,private 还是 public , 越狱访问等
3.Exception in thread "main" java.lang.IllegalArgumentException: wrong number of arguments
参数的数量错误, 可以考虑 把这个参数再嵌套一层.
原: new String[]{"a","b","c"};
修改后
new String[]{new String[]{"a","b","c"};}
或
(Object)new String[]{"a","b","c"};
当然 被修改后就变成了一个参数了. 根据参数需求进行封装
4.
validateJarFile(C:\Tomcat 6.0\webapps\bjsearch\WEB-INF\lib\javax.servlet.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
删除 web-inf/lib/ 下的 javax.servlet.jar javax.servlet.jsp.jar
5.Maven
Maven Java EE Configuration Problem
(x) JavaServer Faces 1.2 can not be installed : One or more constraints have not been satisfied.
(x) JavaServer Faces 1.2 requires Dynamic Web Module 2.5 or newer.
6.cvc-complex-type.2.3: Element 'beans' cannot have character [children],
because the type's content type is element-only.
applicationContext.xml 文件有问题,删除所有注释 看看 如果不行,那就把 xml头 手动写一遍 从<?xml version="1.0" encoding="UTF-8"?>
<beans ....
7.jetty EL表达式原样输出问题
1.查看jstl jar 是否冲突
2.查询 web.xml中servlet 的版本 ,如果是2.5,以上的可能有问题,改成 2.4
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">.....
8:项目使用SSH。
第一次运行程序时,将Hibernte中的hibernate.hbm2ddl.auto设置成create,让Hibernate帮助自动建表,但不成功,报了如下信息:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type=InnoDB' at line 1
我很纳闷,为什么之前没有这样的问题呢?后来,想了想,会不会与我的开发环境有关呢。之前使用的MySql版本是5.0,现在换成了5.5,会不会与这有关呢。
后来,网上查找一番,发现是因为type=InnoDB在5.0以前是可以使用的,但5.1之后就不行了。如果我们把type=InnoDB改为engine=InnoDB就不会有这个问题。但是,我想使用Hibernate,自动帮我建表,怎么办呢。这就与我们指定的数据库方言(dialect)有关了。
之前我的配置是:
Xml代码 收藏代码
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>
现在改为:
Xml代码 收藏代码
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
“method is ambiguous for the type” but the types are NOT ambiguous (and the error comes by upgrade from eclipse 3.7.2 to eclipse 4.2)
//在 eclipse.ini 中加入 下面的配置
-DtolerateIllegalAmbiguousVarargsInvocation=true