未找到 Openshift Tomcat 404
Posted
技术标签:
【中文标题】未找到 Openshift Tomcat 404【英文标题】:Openshift Tomcat 404 Not Found 【发布时间】: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。它应该开箱即用,但存在同样的问题。我也尝试了不同的模板,它总是一样的,在日志中注意到请求,但是部署的应用程序的控制器没有得到它:( 【参考方案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>
您可能会遇到同样的问题。检查日志会对您有所帮助。
【讨论】:
以上是关于未找到 Openshift Tomcat 404的主要内容,如果未能解决你的问题,请参考以下文章
Tomcat 项目 WAR 未在 OpenShift 中启动
如何确定我的tomcat应用程序所需的Openshift Pod的资源限制?
如何在 Openshift Tomcat 7 (JBOSS EWS 2.0) 中设置休眠 MySQL 连接?