java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils 一个错误引发的血案 struts2-blank的所有 包

来源:互联网 发布:十大网络主播评选活动 编辑:程序博客网 时间:2024/05/19 22:58

我新建了一个项目,还没有业务,只有web.xml配置,struts.xml的配置只是随便点···出了个错···

java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils

我出了这么一个错,不知道是什么包不对,还是哪里配置不对。于是我找错,我百度,有网友说是可能web.xml或包不够·····其中有个老兄说,把app的blank那个例子的包全导入就OK了!过果然,我一试就对了!但是我的这个错是什么错呢?我也不知道,于是 一个错误引发的血案,我struts2-blank的包导入后一个个的删除后看看有什么后果。

web.xml中配置如:

  <filter>
     <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
   </filter>

 

struts2-blank的所有包,以及删除了就出错而留下的包见图中,前者有11个包后者有8个包余下。

 

但是我还是不知道我的那个错是什么。还有struts2必须的包不是只有5个么(xwork-core-2.3.4.jar,struts2-core-2.3.4.jar,ognl-3.0.5.jar,freemarker-2.3.19.jar,和common-logging-***.jar)?!还是因为版本不同呢?余下的8个包也没有common-logging-***.jar,多了javassist-3.11.0.GA.jar,commons-lang3-3.1.jar,commons-io-2.0.1.jar,

commons-fileupload-1.2.2.jar。我不知道,请大侠解释个!谢谢!

 

下面是删包时候出的错的简要概况。(出错的包导回去,继续删包包···)

asm-3.3.jar删了没有出错;asm-commons-3.3.jar删了也没出错;asm-tree-3.3.jar这个删了也没有出错;

commons-fileupload-1.2.2.jar这个我觉得目前用不到试试,!!啊!出错了

2012-7-6 9:58:15 com.opensymphony.xwork2.util.logging.jdk.JdkLogger error
严重: Dispatcher initialization failed
Unable to load configuration. - bean - jar:file:/D:/Program%20Files/Tomcat%206.0/webapps/stronger/WEB-INF/lib/struts2-core-2.3.4.jar!/struts-default.xml:51:178
 at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69)

 

出错的包导回去,继续删包包···
commons-io-2.0.1.jar删了有错如下,但是能启动完成!
2012-7-6 10:15:16 com.opensymphony.xwork2.util.logging.jdk.JdkLogger warn
警告: Could not create JarEntryRevision for [jar:file:/D:/Program%20Files/Tomcat%206.0/webapps/stronger/WEB-INF/lib/struts2-core-2.3.4.jar]!
java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils
 at com.opensymphony.xwork2.util.fs.JarEntryRevision.build(JarEntryRevision.java:69)

 

commons-fileupload-1.2.2.jar,commons-io-2.0.1.jar两个包都删了出错了!

012-7-6 10:24:20 com.opensymphony.xwork2.util.logging.jdk.JdkLogger warn
警告: Could not create JarEntryRevision for [jar:file:/D:/Program%20Files/Tomcat%206.0/webapps/stronger/WEB-INF/lib/struts2-core-2.3.4.jar]!
java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils
 at com.opensymphony.xwork2.util.fs.JarEntryRevision.build(JarEntryRevision.java:69)

 

出错的包导回去,继续删包包···
commons-lang3-3.1.jar删了,出错信息

严重: Exception starting filter struts2
java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:209)

 

删除 freemarker-2.3.19.jar出错信息!
2012-7-6 10:36:14 com.opensymphony.xwork2.util.logging.jdk.JdkLogger error
严重: Dispatcher initialization failed
Unable to load configuration. - bean - jar:file:/D:/Program%20Files/Tomcat%206.0/webapps/stronger/WEB-INF/lib/struts2-core-2.3.4.jar!/struts-default.xml:57:89
 at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:69)
 at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:390)

 

接下来轮到javassist-3.11.0.GA.jar了,
2012-7-6 10:40:16 com.opensymphony.xwork2.util.logging.jdk.JdkLogger error
严重: Dispatcher initialization failed
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
 at com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:301)

 

ognl-3.0.5.jar,这个删了的错误信息:
2012-7-6 10:44:15 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
java.lang.NoClassDefFoundError: ognl/PropertyAccessor
 at com.opensymphony.xwork2.config.impl.DefaultConfiguration.createBootstrapContainer(DefaultConfiguration.java:284)
 at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:205)



java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils

  这个错误是因为有一个包没有导入, 导入这个包就可以了

原创粉丝点击