未找到 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 中启动

将 JHipster 项目部署到 tomcat 服务器

如何确定我的tomcat应用程序所需的Openshift Pod的资源限制?

如何在 Openshift Tomcat 7 (JBOSS EWS 2.0) 中设置休眠 MySQL 连接?

在 openshift 上将 jdbc 连接到 MySql 服务器时出现问题

将 Openshift 上的 PostgreSQL 连接到 Amazon S3