今天在写struts2和spring3.0整合,遇到一个异常。
- 严重: Dispatcher initialization failed
- java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
- at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:295)
- at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:431)
- at com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:207)
- at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51)
- at com.opensymphony.xwork2.inject.ContainerBuilder$3.create(ContainerBuilder.java:93)
- at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:487)
- at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:484)
- at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:574)
- at com.opensymphony.xwork2.inject.ContainerBuilder.create(ContainerBuilder.java:484)
- at com.opensymphony.xwork2.config.impl.DefaultConfiguration.createBootstrapContainer(DefaultConfiguration.java:252)
- at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:193)
- at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
- at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371)
- at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415)
- at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
- at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
- at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
- at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
- at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
- at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4001)
- at org.apache.catalina.core.StandardContext.start(StandardContext.java:4651)
- at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
- at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
- at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
- at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
- at org.apache.catalina.core.StandardService.start(StandardService.java:519)
- at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
- at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:597)
- at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
- at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
- Caused by: java.lang.reflect.InvocationTargetException
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:597)
- at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:293)
- ... 33 more
- Caused by: java.lang.ExceptionInInitializerError
- at com.opensymphony.xwork2.ognl.OgnlValueStackFactory.setContainer(OgnlValueStackFactory.java:85)
- ... 38 more
- Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency!
- at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:165)
- ... 39 more
- Caused by: java.lang.ClassNotFoundException: javassist.ClassPool
- at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
- at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
- 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:162)
- ... 39 more
- 2010-12-20 1:52:20 org.apache.catalina.core.StandardContext filterStart
- 严重: Exception starting filter struts2
- java.lang.reflect.InvocationTargetException - Class: com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector
- File: ContainerImpl.java
- Method: inject
- Line: 295 - com/opensymphony/xwork2/inject/ContainerImpl.java:295:-1
- at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:428)
- at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
- at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
- at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
- at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
- at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
- at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4001)
- at org.apache.catalina.core.StandardContext.start(StandardContext.java:4651)
- at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
- at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
- at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
- at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
- at org.apache.catalina.core.StandardService.start(StandardService.java:519)
- at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
- at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:597)
- at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
- at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
- Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
- at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:295)
- at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:431)
- at com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:207)
- at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51)
- at com.opensymphony.xwork2.inject.ContainerBuilder$3.create(ContainerBuilder.java:93)
- at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:487)
- at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:484)
- at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:574)
- at com.opensymphony.xwork2.inject.ContainerBuilder.create(ContainerBuilder.java:484)
- at com.opensymphony.xwork2.config.impl.DefaultConfiguration.createBootstrapContainer(DefaultConfiguration.java:252)
- at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:193)
- at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
- at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371)
- at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415)
- ... 20 more
- Caused by: java.lang.reflect.InvocationTargetException
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:597)
- at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:293)
- ... 33 more
- Caused by: java.lang.ExceptionInInitializerError
- at com.opensymphony.xwork2.ognl.OgnlValueStackFactory.setContainer(OgnlValueStackFactory.java:85)
- ... 38 more
- Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency!
- at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:165)
- ... 39 more
- Caused by: java.lang.ClassNotFoundException: javassist.ClassPool
- at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
- at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
- 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:162)
- ... 39 more
缺少javassit-3.7.ga.jar
然后通过网上找资料,struts-2.2.1/lib目录下是这没有javassit-3.7.ga.jar。
之前自己的写的例子,是在struts-2.2.1中的例子直接解压到项目中。没有发现这个错误。
以后,自己要看例子。优先用例子中的jar包