我已升级到 OpenShift Pro,并且正在尝试让我自己的 Web 应用程序之一正常运行。
源代码位于 GitHub 上,我从本地 IDE 推送的任何代码都会导致构建,因此一切看起来都正常。
Tomcat正在运行,当我输入url /docs时我可以看到它。但我的应用程序没有运行。
日志显示(为了清晰起见,进行了缩写):
Starting Servlet Engine: Apache Tomcat/8.0.18
Deploying web application directory /deployments/manager
Deployment of web application directory /deployments/manager has finished in 1,762 ms
Deploying web application directory /deployments/docs
Deployment of web application directory /deployments/docs has finished in 514 ms
Deploying web application directory /deployments/host-manager
Deployment of web application directory /deployments/host-manager has finished in 471 ms
Starting ProtocolHandler ["http-apr-8080"]
Server startup in 2815 ms
如您所见,manager、docs 和 host-manager 都已启动,但我希望在之后看到类似以下内容启动 Servlet 引擎行:
Deploying web application archive /deployments/ROOT.war
Deployment of web application archive /deployments/ROOT.war has finished in 2,560 ms
请注意,OpenShift 应用程序名称与我本地的Eclipse 项目名称不同。当我在本地运行此 Eclipse 项目时,上下文为“stripes”,请求类似于 localhost:8080/stripes/Test.action
有什么想法吗?
我是不是错过了什么?
任何帮助将不胜感激...
最佳答案
看起来在这种情况下,在 /tmp/src/target
目录中找不到构建的 ROOT.war
并由 s2i 镜像自动部署。
这可能有点难以发现,因为在这种情况下构建日志只是缺少一行。如果构建的 war 文件位于正确的位置,您应该在日志中看到一条消息,表明 ROOT.war
文件(或任何其他名称,如果未部署在根上下文中)已被复制到/opt/webserver/webapps/
目录,位于“从...复制所有目标 war 工件”行下方,例如:
(...)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:02.946s
[INFO] Finished at: Fri Sep 08 13:59:42 UTC 2017
[INFO] Final Memory: 18M/288M
[INFO] ------------------------------------------------------------------------
Copying all target war artifacts from /home/jboss/source/target directory into /opt/webserver/webapps for later deployment...
'/home/jboss/source/target/ROOT.war' -> '/opt/webserver/webapps/ROOT.war'
(...)
关于java - OpenShift Pro - Tomcat 正在运行但应用程序未启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46296543/