【问题标题】:Openshift Tomcat 404 Not Found未找到 Openshift Tomcat 404
【发布时间】:2014-08-27 15:15:45
【问题描述】:

我是 OpenShift 的新手,

我创建了一个 Spring Web 应用程序并将其部署在 OpenShift 上的不可扩展环境中。

应用程序构建和部署成功,在 tomcat 应用程序日志或 jenkins 中没有错误。

我的应用程序作为 ROOT.war 部署在 OpenShift 上,我可以在 tomcat 的 webapps 中看到 war 文件,但是当我尝试打开 url ("http://myapp-mydomain.rhcloud.com") 时,它给了我 404 未找到,但是,我可以使用我的 REST API 调用来获取数据。

请帮助我不确定发生了什么。

相同的应用程序在我的本地 tomcat 上运行良好。

【问题讨论】:

  • 它实际上很容易重现,只需使用以下模板项目:github.com/Macilias/Budgetting,我从这里分叉:github.com/Ghostwritertje/Budgetting。它应该开箱即用,但存在同样的问题。我也尝试了不同的模板,它总是一样的,在日志中注意到请求,但是部署的应用程序的控制器没有得到它:(

标签: tomcat http-status-code-404 openshift


【解决方案1】:

我遇到了同样的问题。

在我的情况下,我推送到 openshift 的项目中缺少 .openshift 目录。

创建 .openshift/markers/java7

.openshift/markers/ - 目录

java7 - 空文件

在项目中 - 它是一个空文件,上面写着 openshift 使用 java 1.7。

在其他情况下,它将使用 java 1.6,但带有 servlet 3.0 的项目需要 java 1.7 才能工作。没有它,您将获得 404 页面,并且在 tomcat-7 部署上没有错误。

【讨论】:

    【解决方案2】:

    就我而言,它恰好改变了根目录本身。推送时,检查应用程序目录是否更改。像这样的东西, “远程:应用程序目录“php/”被选为 DocumentRoot” 我已将目录名称更改为 phpScripts 并再次推送。它工作正常

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题。我使用以下命令在 openshift 上检查了我的应用程序日志:rhc ssh -a appname --ssh C:\PROGRA~1\Git\usr\bin\ssh.exe。在上述命令中替换您的应用名称。

      我遇到了“无法处理 Jar 条目 javassist”的错误。我的休眠依赖是使用这个 javassist jar。所以我排除了它使用。

      <dependency>
              <groupId>org.hibernate</groupId>
              <artifactId>hibernate-core</artifactId>
              <version>5.2.0.Final</version>
              <exclusions>
                  <exclusion>
                      <groupId>org.javassist</groupId>
                      <artifactId>javassist</artifactId>
                  </exclusion>
              </exclusions>
          </dependency>
      

      您可能会遇到同样的问题。检查日志会对您有所帮助。

      【讨论】:

        猜你喜欢
        • 2018-01-10
        • 1970-01-01
        • 2021-09-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-03
        • 1970-01-01
        相关资源
        最近更新 更多