1.java.lang.UnsupportedClassVersionError: Bad version number in .class file
2.java.lang.IllegalAccessException
3.Exception in thread "main" java.lang.IllegalArgumentException: wrong number of arguments
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
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.
7.jetty EL表达式原样输出问题
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代码 收藏代码
现在改为:
Xml代码 收藏代码
“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)
低版本的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