当前位置:   article > 正文

Tomcat 一般异常处理方式

com.opensymphony.util.classloaderutil

 

1、启动时出现:

  Exception starting filter struts2 java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUt

  添加 commons-lang3-3.1.jar 包到 WEB-INF\lib  目录下

2网站发布之后,在 tomcat\logs 目录下根据时间查看错误信息,每个都看一下。

3、Struts 2 项目,当在 web.xml 中添加 struts 2 的过滤器 <filter> 后所有的网页都不可以访问,去掉之后就正常:

  1. <!--<filter>
  2. <filter-name>struts2</filter-name>
  3. <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  4. <init-param>
  5. <param-name>actionPackages</param-name>
  6. <param-value>com.mycompany.myapp.actions</param-value>
  7. </init-param>
  8. </filter>
  9. <filter-mapping>
  10. <filter-name>struts2</filter-name>
  11. <url-pattern>/*</url-pattern>
  12. </filter-mapping>-->

  (一般是当将网站放到其它的服务器上时会出现该问题)

在 tomcat\logs\ 目录中查看当天的记录,出现的异常是:

  1. SEVERE: Exception starting filter struts2
  2. java.lang.UnsupportedClassVersionError: com/demo/struts2/actions/TestAction : Unsupported major.minor version 52.0 (unable to load class com.demo.struts2.actions.TestAction)
  3. at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2908)
  4. at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173)
  5. at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681)
  6. at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
  7. at com.opensymphony.xwork2.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:139)
  8. at com.opensymphony.xwork2.ObjectFactory.getClassInstance(ObjectFactory.java:100)
  9. at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:366)
  10. at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:329)
  11. at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:429)
  12. at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:239)

 解决:

     1、查看目标服务器使用的 Java (jdk)版本 : cmd -->  java -version 可以看到 jdk 版本

     2、Eclipse 中,选择项目文件,右键 --> Properties  -->  Project Facets  ,在右边选择 java 版本(与目标服务器上 Java 版本相匹配,低版本的项目可在高版本服务器上运行,反则不行)

     3、运行一下项目,然后在 workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ 目录下就会生成可在服务器上运行的文件,直接将文件夹复制到目标服务器的

tomcat\webapps\ 目录下,可用 http://localhost:8080/test/ 查看

4、 启动时错误:

  1. [ERROR][2014-11-06 19:42:50] Dispatcher initialization failed
  2. java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
  3. at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:301)
  4. at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:438)
  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:584)
  11. at com.o

  添加  javassist-3.11.0.GA.jar  包,重启服务器 OK

转载于:https://www.cnblogs.com/blueherb/p/4077352.html

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号