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这个依赖加上就好了
 
 
 
posted @ 2015-01-30 22:15  wz1989  阅读(1209)  评论(0编辑  收藏  举报