【问题标题】: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 上运行良好。
【问题讨论】:
标签:
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>
您可能会遇到同样的问题。检查日志会对您有所帮助。