部署在Tomcat中的战争没有出现在URL上,取而代之的是404

我有一个Tomcat说已经部署的web应用程序,但是当我去到它的URL时,我得到了一个404。

war文件被称为sonar.war,并被部署在WebApps中。 我可以看到它正在部署的日志(也是因为它会重新创build其数据库表,如果我删除所有的表,并重新启动Tomcat),并通过使用JConsole我可以看到它是在Mbeans->Catalina->Host->Localhost->Attributes->children作为webmodule。

在同一台机器上也是hudson.war,工作正常 – 我确定我连接到正确的机器,因为我可以删除hudson.war和哈德森从URL中消失。

日志中没有任何东西; 我曾尝试更改日志级别以包含更多信息,但我仍然看不到任何内容。

任何想法/build议? 如果需要的话,我很高兴将一个debugging器附加到Tomcat实例上,以便尝试解决发生的事情,但是我不确定什么是入口点,所以指向我可能想要插入断点的指针也是赞赏。

我使用的是Tomcat 6,Tomcat前面没有任何东西(比如Apache)。

使用pipe理器应用程序设置服务器,并在那里部署战争。 经理会告诉你它部署的URLpath是什么。 您可以在真实的Tomcat服务器上尝试该path。

对于testing部署,我将安装pipe理器应用程序,以便这样的问题更容易解决。 该应用程序也可以部署,但有其他问题导致它绑定到上下文的问题。

现在压力没有了,我可以做一下调查了。 CATALINA_HOME / conf文件夹中缺less以下文件:

  • web.xml中
  • 的context.xml

我认为Sonar的configuration意味着Tomcat不能处理这些文件丢失,而Hudson的其他地方也包含了这些信息。