【发布时间】:2011-08-21 13:15:10
【问题描述】:
我在 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 的子项
- 在属性、Java 构建路径、源中,我有 Project/src 源文件夹
- 在“属性”、“Web 部署程序集”中,我有以下映射:/WebContent -> /、/src -> /WEB-INF/classes, /test -> /build/classes
- 我的 src 目录在 obliquid/servlet/Index.java 中包含一个 Servlet
- 我已经尝试点击 Clean Module Work Directory... 和 Publish
- 我尝试从 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,然后再次添加项目。
-
谢谢Sandman,我试过你的建议:从服务器中删除所有项目,重新启动,然后我选择运行方式->在服务器上运行,提示我添加项目,但还是一样。沿着这条线,我正在考虑尝试开始一个新的 Web 项目,移动所有源代码和库,看看是否有帮助。
-
我已经安装了 Eclipse Helios SR 2,创建了一个不同名称的新动态 Web 项目,复制了所有源代码,复制了所有 JSP 和其他资源,同时重新组织了库,现在它起作用了...我认为我的问题是个愚蠢的问题,实际上我仍然不知道出了什么问题。
-
Tomcat 在热部署方面非常糟糕。我总是禁用它并手动重新启动(通过键盘快捷键)。只需 3 秒,几乎与 hotdeploys 一样长。考虑 Glassfish,它在热部署方面要好得多,它几乎是实时发生的。
-
谢谢BalusC,我会试试的。无论如何,在我的情况下,停止/启动也没有帮助,所以我认为有些事情搞砸了......实际上现在新项目热部署再次工作,而且速度非常快。这个问题可能仍然是个谜……我以为周围有一些清单。
标签: java linux eclipse tomcat classnotfoundexception