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这个依赖加上就好了
 
 
 

你可能感兴趣的:(javassist)