2010-06-10 96 views
13

我通过将文件复制到目录中,将WAR文件部署到$ TOMCAT_HOME/webapps中,就像我以前做过的一样。 Tomcat检测到WAR并对其进行膨胀。我可以在命令行(它是Fedora)遍历服务器上的目录树。Tomcat在所有新部署的WAR文件上报告404错误?

但是,当我在我的客户端机器的浏览器中寻址web应用程序时,我得到的只有404错误。这发生在最后两次完全独立的WAR部署中。

第一个是替换现有的WAR。我首先删除了WAR及其虚增的目录,然后在膨胀的WAR中复制... 404.我再次删除了所有内容,将之前正在运行的WAR从备份中恢复。它膨胀和工作。

第二个是一个全新的,从来没有部署之前WAR ......不过404

其他战争正在努力,但现在恐怕要改变什么,直到我知道是怎么回事。任何线索?


编辑:从我的意见,你可以看到日志包括“严重错误:listenerStart”战争是由Tomcat的部署后。没有报告堆栈痕迹或其他错误。


EDIT2:原来,第二战一直在寻找ELResolver,但没有找到它。这被埋在本地主机日志文件中。

+0

启动/错误日志中的任何东西? – BalusC 2010-06-10 17:19:11

+0

信息:部署Web应用程序存档shindig.war 2010年6月10日上午9时29分41秒org.apache.catalina.core.StandardContext开始 严重:错误listenerStart 2010年6月10日上午9时29分41秒org.apache .catalina.core.StandardContext start SEVERE:由于之前的错误导致Context [/ shindig]启动失败 但是没有“以前的错误”。 – dacracot 2010-06-10 17:34:06

+0

那里_必须是以前的错误。 – 2010-06-10 18:35:10

回答

0

如果Web应用程序没有正确部署,您将获得404的。

您应该删除WAR文件,并让Tomcat删除膨胀的war文件夹本身。

ListenerError可能是web.xml仍然指向一个侦听器,它不在您想要放入战争的新代码中。

+0

或者监听器可能没问题,但是它依赖的其他一些库缺少/具有不同的版本等等。这一个是相当调试。 – Pavel 2013-01-11 17:44:46

+0

如果没有index.html我总是得到404 – jgr208 2014-10-01 18:55:59

0

删除war文件,清理tomcat,启动,关闭,然后再次发生战争。

ONTO:确保战争正确生成。

0

您应该转到“服务器”选项卡并右键单击“属性”并按下“切换位置”按钮。之后,您再次进行测试。让我知道它是否有效。 (参考:404 with tomcat/eclipse deployed webapp)。