在 tomcat 7 上部署一个处于 openshift 中的 java-ee 应用程序
deploy a java-ee application which was in openshift, on tomcat 7
我是 Java EE 和 Tomcat 的新手。
我在 OpenShift 中使用 JBoss EWS 2.0 开发了一个 REST Java 应用程序,我没有遇到任何问题。最近,我们有一台服务器,我必须 运行 我的网络服务。
在 How to deploy a war file in Tomcat 7 之后,我转到了我的应用程序根目录并使用了这个命令:
jar -cvf myapp.war *
请注意,myapp
是我的应用程序名称。
我将 .war 文件放入 /base/path/of/tomcat/webapps/
并转到 Tomcat GUI 应用程序管理器。
我看到 Tomcat 使用我的 .war 名称创建了一个文件夹并将文件放入其中,所以我启动了我的应用程序但是当我去http://localhost:8080/myapp/
它返回 404。但是,在 OpenShift 中,当我打开它(打开根路径)时,它显示 index.html 因为我的网络服务路径无效并且不起作用。
请指导我,感谢您花时间回答我的问题。
我必须写一个答案,因为我不能发表评论。
我建议给我们一份 web.xml 文件的副本。
另一方面,您必须知道 Tomcat 是一个 Servlet 容器,JBoss 是一个全栈 JEE 服务器。如果您的 Web 应用程序中有 EJB,它将无法工作。
AS Clément Duveau 说 EJB 应用程序不能部署在 Servlet 容器中(如 Tomcat)。 EJB 应用程序需要部署在 Application Server 中,例如 JBoss、Wildfly、GlassFish、Weblogic、Websphere、TomEE 等
与 Tomcat 最相似的服务器(Java EE 兼容)是 TomEE。
建议:如果需要使用Tomcat,可以将EJB换成Spring Framework
很简单。
有两种方法可以使用自定义路径在 tomcat 上部署 war 文件
第一个是
将您的 war 文件重命名为您想要的自定义 URL(例如 war 文件名为 java-web-app-1.0.war
而您的路径为 myapp
因此您必须将其重命名为myapp.war)
复制并放在 {tomcat-path}/webapps/
下,然后 Tomcat/TomEE 完成它的工作。 (它会创建一个与您的 war 文件同名的空目录)
大约 1 分钟后,您可以检查路径(在此示例中必须是 localhost:8080/myapp
并查看您的 war 文件已部署)
第二个是使用 Tomcat GUI。
转到 Web Application Manager
部分。
这是一个这样的页面:
在 Deploy
框中只需填写 Context
字段(它将是自定义路径,在本例中为 myapp
),然后选择 war 文件和按下部署按钮。(不需要填写 XML Configuration file URL
字段)
然后它会给你这样的消息:
这意味着您的 war 文件已部署在自定义路径上。
我是 Java EE 和 Tomcat 的新手。
我在 OpenShift 中使用 JBoss EWS 2.0 开发了一个 REST Java 应用程序,我没有遇到任何问题。最近,我们有一台服务器,我必须 运行 我的网络服务。
在 How to deploy a war file in Tomcat 7 之后,我转到了我的应用程序根目录并使用了这个命令:
jar -cvf myapp.war *
请注意,myapp
是我的应用程序名称。
我将 .war 文件放入 /base/path/of/tomcat/webapps/
并转到 Tomcat GUI 应用程序管理器。
我看到 Tomcat 使用我的 .war 名称创建了一个文件夹并将文件放入其中,所以我启动了我的应用程序但是当我去http://localhost:8080/myapp/
它返回 404。但是,在 OpenShift 中,当我打开它(打开根路径)时,它显示 index.html 因为我的网络服务路径无效并且不起作用。
请指导我,感谢您花时间回答我的问题。
我必须写一个答案,因为我不能发表评论。
我建议给我们一份 web.xml 文件的副本。
另一方面,您必须知道 Tomcat 是一个 Servlet 容器,JBoss 是一个全栈 JEE 服务器。如果您的 Web 应用程序中有 EJB,它将无法工作。
AS Clément Duveau 说 EJB 应用程序不能部署在 Servlet 容器中(如 Tomcat)。 EJB 应用程序需要部署在 Application Server 中,例如 JBoss、Wildfly、GlassFish、Weblogic、Websphere、TomEE 等
与 Tomcat 最相似的服务器(Java EE 兼容)是 TomEE。
建议:如果需要使用Tomcat,可以将EJB换成Spring Framework
很简单。
有两种方法可以使用自定义路径在 tomcat 上部署 war 文件
第一个是
将您的 war 文件重命名为您想要的自定义 URL(例如 war 文件名为 java-web-app-1.0.war
而您的路径为 myapp
因此您必须将其重命名为myapp.war)
复制并放在 {tomcat-path}/webapps/
下,然后 Tomcat/TomEE 完成它的工作。 (它会创建一个与您的 war 文件同名的空目录)
大约 1 分钟后,您可以检查路径(在此示例中必须是 localhost:8080/myapp
并查看您的 war 文件已部署)
第二个是使用 Tomcat GUI。
转到 Web Application Manager
部分。
这是一个这样的页面:
在 Deploy
框中只需填写 Context
字段(它将是自定义路径,在本例中为 myapp
),然后选择 war 文件和按下部署按钮。(不需要填写 XML Configuration file URL
字段)
然后它会给你这样的消息:
这意味着您的 war 文件已部署在自定义路径上。