Java 侦听器的Tomcat ClassNotFoundException
我在包nl.hu.tho6.listener中有一个名为ContextListener的侦听器。部署tomcat时会出现严重错误:listenerStart错误。在localhost日志中,我发现tomcat为listener类抛出了一个ClassNotFoundException web.xml如下所示Java 侦听器的Tomcat ClassNotFoundException,java,tomcat,classnotfoundexception,Java,Tomcat,Classnotfoundexception,我在包nl.hu.tho6.listener中有一个名为ContextListener的侦听器。部署tomcat时会出现严重错误:listenerStart错误。在localhost日志中,我发现tomcat为listener类抛出了一个ClassNotFoundException web.xml如下所示 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSc
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<listener>
<listener-class>nl.hu.tho6.listener.ContextListener</listener-class>
</listener>
</web-app>
我希望错误消息是正确的,除非您有理由相信不是这样 我会查看war文件并检查类是否存在,例如:
jar -tf mywebapp.war | grep ContextListener
如果没有显示,请检查您的构建过程-您没有提到您是否正在使用ant、maven或其他东西,但这将是开始的地方。根据注释,该文件位于错误的文件夹中。
类应该在war/WEB-INF/classes/nl/hu/tho6/listener/not in war/WEB-INF/classes/production/tho6/nl/hu/tho6/listener/您能显示整个异常吗?您是在运行tomcat insinde IntelliJ还是单独运行?另外,项目的git存储库位于类所在的位置?jar@maslan这是什么意思?编译后,类位于war/WEB-INF/classes/production/THO6/nl/hu/THO6/listener/中,当我运行ANT构建脚本时,它将war文件打包到THO6.war中,然后将其部署到tomcat服务器。如果侦听器类位于文件夹war/WEB-INF/classes/nl/hu/THO6/listener/?中,ContextListener就在那里,编译器输出到的路径错误。我使用的是ant,但在运行之前,我必须手动编译,因为ant在IntelliJ中由于某种原因不会自动编译。@LiamdeHaas也许你应该检查ant,它会帮你编译吗?@maslan有什么建议吗?我不太了解antOk,所以告诉我你是如何编译你的源代码和构建war的?
jar -tf mywebapp.war | grep ContextListener