我已经将现有的web项目转换为maven,使用的技术有:Struts 2,hibernate。侦听器扩展javax.servlet.ServletContextListener
,其在web.xml中有一个条目,如下所示:
<listener>
<listener-class>com.tcs.weserv.util.Listener</listener-class>
</listener>
Maven项目构建成功,但是当我尝试启动服务器时,它会抛出异常:
java.lang.ClassNotFoundException: package.util.Listener
所有依赖项都在pom.xml
中正确定义,侦听器在给定位置可用,但它仍会抛出ClassNotFoundException
。
答案 0 :(得分:1)
感谢大家的宝贵意见。它有助于调试问题。实际问题是,Maven项目结构错了。当我通过选择archtype作为webapp创建maven项目时,项目结构仅包含src / main / resources。 由于我是maven的新手,我认为这是实际的项目结构,我将所有资源以及java文件复制到此文件夹中。因此,它能够在没有任何错误的情况下构建项目,但在将其部署到服务器上时,它显示的是ClassNotFoundException。
答案 1 :(得分:0)
这是未知的听众。找不到任何包含该侦听器的jar。如果您知道如何使用某些zip实用程序或jar可执行文件创建jar,那么您可以将类com.tcs.weserv.util.Listener.class
复制到jar文件,同时保留文件夹结构,这对于查找相应的类非常重要。