Web应用程序似乎没有在远程tomcat 7上正确部署

时间:2015-06-25 03:00:24

标签: java spring maven tomcat

我有一个Java Web应用程序,当通过eclipse或通过将.war文件复制/粘贴到本地tomcat部署时,将正确部署,我可以使用Web应用程序。我正在尝试在安装了tomcat的GCE实例上部署此应用程序。在远程tomcat停止的情况下,我将.war文件复制到webapps文件夹中,就像我使用本地tomcat一样,并启动了tomcat。我可以在catalina.out中看到一条消息,它正在部署Web应用程序存档,我可以查看webapps文件夹以查看战争已爆炸(此文件夹中的所有内容似乎都正确)。但是,我没有看到我的本地tomcat / eclipse部署的webapp创建的任何springframework消息,当我尝试转到远程tomcat上的应用程序主页时,我收到404。我不知道从哪里开始寻找我的Web应用程序部署的错误。

更新

public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

@Override
protected Class<?>[] getRootConfigClasses() {
    return new Class[] {WebMvcConfig.class,RestAppConfig.class,MySQLConfig.class};
}

@Override
protected Class<?>[] getServletConfigClasses() {    
    return null;
}

@Override
protected String[] getServletMappings() {
    // TODO Auto-generated method stub
    return new String[] {"/*"};
}

这是我对注释配置的WebInitialier calss。我在WebMVC中配置了SpringMVC,配置了RESTful服务以及配置MySQL数据库。我更改了log4j.xml中的日志级别以调试所有内容,虽然我实际记录了任何内容,但我在远程tomcat服务器上的部署似乎没有实现任何初始化。

2 个答案:

答案 0 :(得分:0)

您需要将yourApp.xml文件放在Catalina_HOME / conf / localhost文件夹中 请参阅此link

答案 1 :(得分:0)

HTTP 404消息告诉您,您尝试查找的资源在该网址上不可用,并且可能有多种原因让我想到:

1)您的应用程序未正确部署到tomcat。如果您的应用程序中有一些日志,则可以检查这一点,如果应用程序部署正确,请检查{tomcat-home} /logs/catalina.log。

2)你没有使用好的网址。

3)GCE实例可能存在阻止外部访问您的Web应用程序的问题。在这种情况下,您应该允许从您的网址访问端口8080。如果您还没有这样做,则很可能是问题,因为默认情况下应该阻止此端口进行外部访问。您可以尝试telnet tomcat以检查是否是这种情况,或者您可以检查{tomcat-home} / logs / localhost_access_log以查看您的请求是否已达到tomcat。如果您看到类似的内容:

127.0.0.1 - - [15 / Jun / 2015:09:28:25 -0700]“GET / RESTfulExample / rest / helloworld HTTP / 1.1”404 1011

表示请求已到达tomcat,但此资源不存在。

希望这有帮助,

卓然