我在 Linux Ubuntu Natty Narwhal 中运行 Eclipse Helios Service Release 1 和 Tomcat 7.0.12。
我一直很高兴地重新部署我的 web 应用程序,直到它显然无缘无故停止工作。显示以下异常:
SEVERE: Allocate exception for servlet Index
java.lang.ClassNotFoundException: obliquid.servlet.Index
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
- 在 Servers 选项卡中,我有“Tomcat v7.0 Server at localhost [Started,Synchronized]
- 我的项目显示为 Tomcat v7.0 Server 的子项
- 在 Properties, Java Build Path, Source 我有 Project/src 源文件夹
- 在属性、Web 部署程序集中,我有以下映射:/WebContent -> /、/src -> /WEB-INF/classes, /test -> /build/classes
- 我的 src 目录在 obliquid/servlet/Index.java 中包含一个 Servlet
- 我已经尝试点击Clean Module Work Directory...和发布
- 我尝试从 Eclipse 服务器选项卡中停止和启动服务器
我还应该检查什么?谢谢。
更新尽管现在我正在处理新项目,但我还是回来检查旧项目,而且神秘地现在它正在工作。我想我将无法找到发生了什么。
但是今天在新项目中,我遇到了没有明显原因的 404 错误,我发现右键单击 Tomcat 服务器并选择“清理...”可能很有用。也许它会有所帮助。
选择“清理...”表示:“清理将丢弃所有发布状态并从头开始重新发布。您确定要清理所有已发布的资源吗?”。选择是,我解决了问题
更新 2 在新项目上又发生了。 404 错误,这次不会消失。
Stop -> Clean... -> Start (404)
Stop -> Clean Tomcat Work Directory... -> Start (404)
Stop -> Clean Tomcat Work Directory... -> Clean... -> Start (404)
Stop -> Remove on the application -> Clean... -> Run As -> Run on Server -> (404)
Exit Eclipse, Start Eclipse
Start the server -> (404)
UPDATE 3 原来,这一次我只是没有注意到启动过程中监听器类引起的异常。解决问题后,它起作用了。我想我应该在凌晨 3 点停止工作。
最佳答案
在 Tomcat 6 和 Eclipse Ganymede 上,我发现以下链可以像魅力一样工作:
1 停止服务器
2 项目 -> 清理
3 项目构建(我禁用了自动构建)
4 删除服务器
5 删除服务器文件夹
6 重启Eclipse
7 创建新服务器,添加项目并启动 :)
需要一些时间,但效果很好。我的问题是一个恼人的监听器启动问题,但这似乎是类似的:tomcat 的一个属性。顺便说一句:现在我也是 Glassfish 的忠实粉丝。
关于java - eclipse /tomcat : deploy doesn't work any more (ClassNotFoundException),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5934922/