找不到org.apache.commons.lang.StringUtils 这个类

摘要:
org/apache/commons/lang/StringUtils atcom.opensymphony.xwork2.config.provider.XmlConfigurationProvider.register(XmlConfigurationProvider.java:

最近在学习SSH2,在Spring和hibernate集成成功后,与Struts2进行集成时,在一切工作完成后启动tomcat时,出现了一个严重警告,也可以说是错误,因为虽然tomcat是启动成功了,但相应的项目还是运行不了。

现在把错误的详细信息粘贴出来,其中重点部分用红色凸显:

信息: Deploying web application directory SSH2
2011-12-8 17:22:31 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
2011-12-8 17:22:40 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:198)
 at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
 at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:180)
 at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)
 at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:380)
 at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:424)
 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:4072)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4726)
 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
 at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
 at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
 at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
 at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
 at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
 at org.apache.catalina.core.StandardService.start(StandardService.java:525)
 at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
 at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils
 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(Unknown Source)
 ... 35 more
2011-12-8 17:22:40 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2011-12-8 17:22:40 org.apache.catalina.core.StandardContext start
严重: Context [/SSH2] startup failed due to previous errors
2011-12-8 17:22:40 org.apache.catalina.core.ApplicationContext log
信息: Closing Spring root WebApplicationContext
2011-12-8 17:22:40 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: The web application [/SSH2] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
2011-12-8 17:22:40 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/SSH2] appears to have started a thread named [MySQL Statement Cancellation Timer] but has failed to stop it. This is very likely to create a memory leak.
log4j:ERROR LogMananger.repositorySelector was null likely due to error in class reloading, using NOPLoggerRepository.
2011-12-8 17:22:41 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2011-12-8 17:22:41 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2011-12-8 17:22:41 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/47  config=null
2011-12-8 17:22:41 org.apache.catalina.startup.Catalina start
信息: Server startup in 16304 ms

经过多方查找,最后终于把问题解决了,由红色显示部分可以看出问题出在一个找不到的类身上,那么为什么会找不到org.apache.commons.lang.StringUtils 这个类呢?这个类是在那个包中呢?根据类的名字,我们大概可以猜测出,而且经过验证它也确实位于commons-lang.jar,既然找到了问题所在,那么我们只需把这个jar包复制到/%/lib目录下即可了。我复制的是Struts2.2.3目录下的commons-lang-2.5.jar,经过验证,问题解决!!
 

免责声明:文章转载自《找不到org.apache.commons.lang.StringUtils 这个类》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇四元数运算【转载】C#中使用double.Parse方法将字符串转换为双精度double类型下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#调用java类、jar包方法。

一、将已经编译后的java中Class文件进行打包;打包命令JAR 如:将某目录下的所有class文件夹全部进行打包处理; 使用的命令:jar cvf test.jar -C com/ . 其中test.jar为要生成的jar包;com/ . 为指定的当前目录下的文件夹,该文件夹包括子文件夹及class文件; 二、到IKVM官方网站下载IKVM需要的组件 ...

springboot集成activeMq

一,activeMq安装 1,下载activeMq,放置到电脑某个目录, 2,直接运行 /bin/activemq.bat脚本,即可启动activeMq 3,访问网址localhost:8161,即可查看activeMq网页界面 4,activeMq目录中有一些例子,可以参考; 二,springboot集成activeMQ 1,添加依赖 <!--...

Java高级--Java线程运行栈信息的获取 getStackTrace()

我们在Java程序中使用日志功能(JDK Log或者Log4J)的时候,会发现Log系统会自动帮我们打印出丰富的信息,格式一般如下:为了免去解析StackTrace字符串的麻烦,JDK1.4引入了一个新的类,StackTraceElement。   一、问题的引入   我们在Java程序中使用日志功能(JDK Log或者Log4J)的时候,会发现Log系统...

解决Eclipse启动Tomcat时报Error loading WebappClassLoader错误

最近新建了一个JSF项目(网上查到用Struts,Spring MVC也会如此),配置好以后用Eclipse启动Tomcat报了如下错误:严重: Error loading WebappClassLoader   context: /jsf2nd     delegate: false     repositories:       /WEB-INF/...

Visual Studio Code 必备插件

HTML Snippets:  超级实用且初级的 H5代码片段以及提示 . HTMLHint: html代码检测 . HTML CSS Support : 让 html 标签上写class 智能提示当前项目所支持的样式。新版已经支持scss文件检索,这个也是必备插件之一 . Auto Close Tag : 匹配标签,关闭对应的标签。很实用【HTML/XM...

字符加密(cipher)

字符加密 Valentino 向往星空。。。某一天他脑洞大开地想要往太空中发送一串讯息,没准哪个外星文明接收到了呢?但是他突然想起一个问题,要是信息在传递过程中受到干扰,外星文明接收到错误的信息怎么办?如何校验信息的完整性?于是他找到了度娘:MD5 ( Message-Digest Algorithm ,信息-摘要算法 5)用于确保信息传输完整一致。它具...