我正在尝试按照以下指南将我的 Grails 应用程序部署到 OpenShift:https://developers.openshift.com/en/tomcat-deployment-options.html
我正在使用 Grails 3.0.9 并且我已经将这个字符串添加到 build.groovy 依赖项中
provided "org.springframework.boot:spring-boot-starter-tomcat"
禁止在 .war 文件中嵌入 Tomcat。
我已经创建了 JBoss EWS 2.0 应用程序,在我的本地计算机上克隆了存储库,删除了文件夹/src 和 pom.xml 文件。然后我将我的 ROOT.war 文件添加到/webapps 文件夹。推了。
日志在这里:
Nov 24, 2015 8:34:24 AM org.apache.catalina.startup.Catalina addClusterRuleSet
INFO: Cluster RuleSet not found due to [java.lang.ClassNotFoundException: org.apache.catalina.ha.ClusterRuleSet]. Cluster configuration disabled.
Nov 24, 2015 8:34:24 AM org.apache.catalina.startup.Catalina addClusterRuleSet
INFO: Cluster RuleSet not found due to [java.lang.ClassNotFoundException: org.apache.catalina.ha.ClusterRuleSet]. Cluster configuration disabled.
Nov 24, 2015 8:34:25 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: :/usr/java/packages/lib/i386:/lib:/usr/lib
Nov 24, 2015 8:34:25 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-127.3.128.1-8080"]
Nov 24, 2015 8:34:25 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1006 ms
Nov 24, 2015 8:34:25 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Nov 24, 2015 8:34:25 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.54
Nov 24, 2015 8:34:25 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /var/lib/openshift/565466f62d52712f4a0000db/app-root/runtime/dependencies/jbossews/webapps/ROOT.war
Nov 24, 2015 8:34:28 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive /var/lib/openshift/565466f62d52712f4a0000db/app-root/runtime/dependencies/jbossews/webapps/ROOT.war has finished in 2,454 msNov 24, 2015 8:34:28 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-127.3.128.1-8080"]
Nov 24, 2015 8:34:28 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 2657 ms
Nov 24, 2015 8:42:26 AM org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-127.3.128.1-8080"]
Nov 24, 2015 8:42:26 AM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina
Nov 24, 2015 8:42:26 AM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-127.3.128.1-8080"]
Nov 24, 2015 8:42:26 AM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-127.3.128.1-8080"]
Nov 24, 2015 8:42:32 AM org.apache.catalina.startup.Catalina addClusterRuleSet
INFO: Cluster RuleSet not found due to [java.lang.ClassNotFoundException: org.apache.catalina.ha.ClusterRuleSet]. Cluster configuration disabled.
Nov 24, 2015 8:42:32 AM org.apache.catalina.startup.Catalina addClusterRuleSet
INFO: Cluster RuleSet not found due to [java.lang.ClassNotFoundException: org.apache.catalina.ha.ClusterRuleSet]. Cluster configuration disabled.
Nov 24, 2015 8:42:32 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: :/usr/java/packages/lib/i386:/lib:/usr/lib
Nov 24, 2015 8:42:33 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-127.3.128.1-8080"]
Nov 24, 2015 8:42:33 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1599 ms
但是当我要去http://jbossews-themirrortruth.rhcloud.com/它说 404 错误。我也尝试过改变
<Host name="localhost" appBase="webapps"
unpackWARs="false" autoDeploy="true">
到
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
在 %local repo%/.openshift/config/server.xml 但它也没有效果。添加 .java8 标记到 %local repo%/.openshift/markers 也不起作用。
更新
在 JBoss EWS 1.0 上同样的问题
在 WildFly 10 上也一样
看起来我在 Grails 中构建了错误的 .war
最佳答案
解决方案是你用 Tomcat 7 JBoss WES 2.0 编译你的 WAR 文件的 JDK 我最初用 JDK 8 编译我的 WAR 文件。 如果你右键单击 Netbeans 中的项目 -> 选择属性 -> 在属性中选择源并将二进制文件更改为 JDK 7
。重新编译并重新上传。它应该工作,因为这对我有用。
关于tomcat - 将 .war 部署到 OpenShift 找不到 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33895757/