今天在写struts2和spring3.0整合,遇到一个异常。

 

  1. 严重: Dispatcher initialization failed 
  2. java.lang.RuntimeException: java.lang.reflect.InvocationTargetException 
  3.     at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:295
  4.     at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:431
  5.     at com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:207
  6.     at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51
  7.     at com.opensymphony.xwork2.inject.ContainerBuilder$3.create(ContainerBuilder.java:93
  8.     at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:487
  9.     at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:484
  10.     at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:574
  11.     at com.opensymphony.xwork2.inject.ContainerBuilder.create(ContainerBuilder.java:484
  12.     at com.opensymphony.xwork2.config.impl.DefaultConfiguration.createBootstrapContainer(DefaultConfiguration.java:252
  13.     at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:193
  14.     at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66
  15.     at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371
  16.     at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415
  17.     at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69
  18.     at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51
  19.     at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295
  20.     at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422
  21.     at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115
  22.     at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4001
  23.     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4651
  24.     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045
  25.     at org.apache.catalina.core.StandardHost.start(StandardHost.java:785
  26.     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045
  27.     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445
  28.     at org.apache.catalina.core.StandardService.start(StandardService.java:519
  29.     at org.apache.catalina.core.StandardServer.start(StandardServer.java:710
  30.     at org.apache.catalina.startup.Catalina.start(Catalina.java:581
  31.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  32.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
  33.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25
  34.     at java.lang.reflect.Method.invoke(Method.java:597
  35.     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289
  36.     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414
  37. Caused by: java.lang.reflect.InvocationTargetException 
  38.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  39.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
  40.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25
  41.     at java.lang.reflect.Method.invoke(Method.java:597
  42.     at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:293
  43.     ... 33 more 
  44. Caused by: java.lang.ExceptionInInitializerError 
  45.     at com.opensymphony.xwork2.ognl.OgnlValueStackFactory.setContainer(OgnlValueStackFactory.java:85
  46.     ... 38 more 
  47. Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency! 
  48.     at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:165
  49.     ... 39 more 
  50. Caused by: java.lang.ClassNotFoundException: javassist.ClassPool 
  51.     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645
  52.     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491
  53.     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320
  54.     at java.lang.Class.forName0(Native Method) 
  55.     at java.lang.Class.forName(Class.java:169
  56.     at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:162
  57.     ... 39 more 
  58. 2010-12-20 1:52:20 org.apache.catalina.core.StandardContext filterStart 
  59. 严重: Exception starting filter struts2 
  60. java.lang.reflect.InvocationTargetException - Class: com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector 
  61. File: ContainerImpl.java 
  62. Method: inject 
  63. Line: 295 - com/opensymphony/xwork2/inject/ContainerImpl.java:295:-1 
  64.     at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:428
  65.     at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69
  66.     at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51
  67.     at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295
  68.     at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422
  69.     at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115
  70.     at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4001
  71.     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4651
  72.     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045
  73.     at org.apache.catalina.core.StandardHost.start(StandardHost.java:785
  74.     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045
  75.     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445
  76.     at org.apache.catalina.core.StandardService.start(StandardService.java:519
  77.     at org.apache.catalina.core.StandardServer.start(StandardServer.java:710
  78.     at org.apache.catalina.startup.Catalina.start(Catalina.java:581
  79.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  80.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
  81.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25
  82.     at java.lang.reflect.Method.invoke(Method.java:597
  83.     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289
  84.     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414
  85. Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException 
  86.     at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:295
  87.     at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:431
  88.     at com.opensymphony.xwork2.inject.ContainerBuilder$5.create(ContainerBuilder.java:207
  89.     at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:51
  90.     at com.opensymphony.xwork2.inject.ContainerBuilder$3.create(ContainerBuilder.java:93
  91.     at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:487
  92.     at com.opensymphony.xwork2.inject.ContainerBuilder$7.call(ContainerBuilder.java:484
  93.     at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:574
  94.     at com.opensymphony.xwork2.inject.ContainerBuilder.create(ContainerBuilder.java:484
  95.     at com.opensymphony.xwork2.config.impl.DefaultConfiguration.createBootstrapContainer(DefaultConfiguration.java:252
  96.     at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:193
  97.     at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66
  98.     at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371
  99.     at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415
  100.     ... 20 more 
  101. Caused by: java.lang.reflect.InvocationTargetException 
  102.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  103.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
  104.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25
  105.     at java.lang.reflect.Method.invoke(Method.java:597
  106.     at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:293
  107.     ... 33 more 
  108. Caused by: java.lang.ExceptionInInitializerError 
  109.     at com.opensymphony.xwork2.ognl.OgnlValueStackFactory.setContainer(OgnlValueStackFactory.java:85
  110.     ... 38 more 
  111. Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency! 
  112.     at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:165
  113.     ... 39 more 
  114. Caused by: java.lang.ClassNotFoundException: javassist.ClassPool 
  115.     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645
  116.     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491
  117.     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320
  118.     at java.lang.Class.forName0(Native Method) 
  119.     at java.lang.Class.forName(Class.java:169
  120.     at ognl.OgnlRuntime.<clinit>(OgnlRuntime.java:162
  121.     ... 39 more 

  

缺少javassit-3.7.ga.jar

然后通过网上找资料,struts-2.2.1/lib目录下是这没有javassit-3.7.ga.jar。

之前自己的写的例子,是在struts-2.2.1中的例子直接解压到项目中。没有发现这个错误。

以后,自己要看例子。优先用例子中的jar包