加载ContextLoaderListener时出现ClassNotFoundException
我正在使用Spring 3.0,hibernate开发webapp。 当我尝试在WAS 7.0上部署我的应用程序时,它给出了错误 – 无法加载侦听器:org.springframework.web.context.ContextLoaderListener]:java.lang.ClassNotFoundException:
以下是我的网络应用的外观:
ABC index.html contextConfigLocation classpath:applicationContext.xml org.springframework.web.context.ContextLoaderListener
抛出的exception如下,
com.ibm.ws.webcontainer.webapp.WebApp logError SRVE0293E: [Servlet Error]-[Failed to load listener: org.springframework.web.context.ContextLoaderListener]: java.lang.ClassNotFoundException: class java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener at java.beans.Beans.instantiate(Beans.java:190) at java.beans.Beans.instantiate(Beans.java:75) at com.ibm.ws.webcontainer.webapp.WebApp.loadListener(WebApp.java:1643) at com.ibm.ws.webcontainer.webapp.WebAppImpl.loadListener(WebAppImpl.java:671) at com.ibm.ws.webcontainer.webapp.WebApp.loadLifecycleListeners(WebApp.java:1554)
那么,web.xml中有什么问题吗?
编辑:对不起,我没有提及,我正在使用Maven来获取jar子。 我在WEB-INF文件夹中也有所需的jar文件,即org.springframework.web.context
它说您可以通过转到项目属性 – >部署程序集并添加Maven依赖项构建路径条目来解决此问题
class java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener
在java.beans.Beans.instantiate(Beans.java:190)
.jar文件是否包含类路径上的org.springframework.web.context.ContextLoaderListener
?
你有一个错误的spring-web
依赖定义,而不是:
org.springframework org.springframework.web ${org.springframework.version}
你应该在评论中写下我所写的内容:
org.springframework spring-web ${spring.version}
ArtifactId是spring-web
。 ${spring.version}
当然不重要,只要确保它与你定义的版本字符串匹配。
将您添加到项目中的任何jar都放入并确保它们也放在WEB-INF / lib目录中。 这是您的服务器在引用第三方库时查看运行时的位置。 它们不会自动放在那里; 但有一些方法可以自动化(即使用ANT脚本或类似的东西)。 只是为了完成并运行,您只需手动将jar复制/粘贴到该目录即可。 如果将它们添加到IDE外部的该目录中,请确保在将文件放在IDE后从IDE中刷新文件夹。
java引擎失败也找到了类(如你的exception所示: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
)
java将在类路径上搜索类。 您的Web应用程序结构中有一个文件夹(在运行”’服务器的计算机上),您可以在其中放置包含类的jar文件。 你需要将spring.jar或spring-web.jar放在这个文件夹中。 我猜这个文件夹名为lib,它可能位于一个名为WEB-INF的文件夹中,但我不确定,因为我不知道’是’。
将jar文件放入其中后,您可能需要重新启动Web / app-server。 希望这可以帮助! ^^
Project> properties> deployment assembly> add > referenced project class path entries> maven dependencies
再次部署。 这个对我有用
戴夫是对的! 您需要在两个地方需要所有必需的JAR:
-
如果在启动服务器时看到exception,那么在WEB-INF / lib目录中没有所需的JAR,因此需要将所有JAR保留在那里。
-
如果您在Java代码中看到任何编译错误,那么您没有正确配置构建路径。 将所有放在WEB-INF / lib中的JAR保存在构建路径中作为“Referenced Libraries”。
整天都在努力解决同样的错误…我有弹簧网jar,但事实certificate我还需要弹簧环境支持jar。 我把它添加到我的pom中,现在一切正常。
org.springframework spring-context-support ${org.springframework-version}
错误日志:
com.ibm.ws.webcontainer.annotation.WASAnnotationHelper collectClasses unable to instantiate class java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener SRVE0293E: [Servlet Error]-[Failed to load listener: org.springframework.web.context.ContextLoaderListener]: java.lang.ClassNotFoundException: class java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener loadLifecycleListeners SRVE0279E: Error occured while processing global listeners for the application {0}: {1} java.lang.NullPointerException at com.ibm.ws.webcontainer.annotation.WASAnnotationHelper.inject(WASAnnotationHelper.java:266)
我有同样的问题。 希望这有助于某人。 我的WEB-INF / lib文件夹中缺少一些依赖项jar,但是在Referenced库中有。 我不得不再次进行maven clean安装,以确保所有的jar都被拉入lib文件夹。 问题可能在你的pom.xml中,如果它无法正确拉入jar子。 所以请密切注意这一点。
Project-> Maven clean and build – > lib文件夹刷新并确保所有jar都在那里(或者抛出exception的特定jar)
- AutoCloseable的close方法抛出exception是否有意义? 应如何处理?
- 有效使用MapDB(对提交感到困惑)
- 对于INSERT ON ON DUPLICATE KEY UPDATE,Java MySQL executeUpdate()返回什么?
- Force Maven仅使用第一级依赖项
- 使用SWIG将signed char *类型的结构成员转换为Java(byte )中的字节数组
- Spring MVC既不是BindingResult也不是普通的目标
- 如何使用Java测试与Oracle数据库的连接
- 如何在Spring MVC应用程序中显示JSP中属性文件的值
- 如何在不阻止动作和actionListener被调用的情况下禁用h:commandButton?