struts启动报错Javassist library is missing
很久不用struts2,最近在配置的时候,启动服务器报错
Caused by: java.lang.ExceptionInInitializerError at com.opensymphony.xwork2.ognl.OgnlValueStackFactory.setContainer(OgnlValueStackFactory.java:84) ... 64 more Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency! at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:168) ... 65 more Caused by: java.lang.ClassNotFoundException: javassist.ClassPool at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:165) ... 65 more
我的struts2是2.3.20 是很新的版本
看描述 是缺少这样一个依赖:java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency!
这个依赖的名字叫做Javassist
这是因为xwork迁移到Apache以后,把用了新的OGNL 3.x ,新的OGNL 3.x把Javassist 的依赖给去掉了,所以就得自己加jar包 或者加maven依赖
最简单的找到这个依赖jar包的办法 自然是到struts的完整压缩包里的app目录下去找
把javassist-3.11.0.GA.jar这个依赖加上就好了
学无止境-----博客均为原创,转载请注明出处