1

我是 Java EE 和 Tomcat 的新手。

我在 OpenShift 中使用 JBoss EWS 2.0 开发了一个 REST Java 应用程序,我没有遇到任何问题。最近,我们有一台服务器,我必须在其上运行我的 Web 服务。

How to deploy a war file in Tomcat 7之后,我转到我的应用程序根目录并使用了以下命令:

jar -cvf myapp.war *

请注意,myapp例如,这是我的应用程序名称。

我将.war文件放入/base/path/of/tomcat/webapps/并转到 Tomcat GUI App Manager。

我看到 Tomcat 用我的.war名称创建了一个文件夹并将文件放入其中,所以我启动了我的应用程序,但是当我去http://localhost:8080/myapp/它时返回 404。但是,在 OpenShift 中,当我打开它(打开根路径)时,它显示index.html因为我的网络服务路径无效且无法正常工作。

请指导我,感谢您在我的问题上花费的时间。

4

3 回答 3

0

我必须写一个答案,因为我无法发表评论。

我建议给我们一份 web.xml 文件的副本。

另一方面,你必须知道 Tomcat 是一个 Servlet 容器,而 JBoss 是一个全栈 JEE 服务器。如果您的 Web 应用程序中有 EJB,它将无法正常工作。

于 2016-08-16T12:57:26.910 回答
0

AS Clément Duveau 说 EJB 应用程序不能部署在 Servlet 容器(如 Tomcat)中。EJB 应用程序需要部署在 JBoss、Wildfly、GlassFish、Weblogic、Websphere、TomEE 等应用程序服务器中。

与 Tomcat(Java EE 兼容)最相似的服务器是 TomEE。

建议:如果需要使用Tomcat,可以将EJB换成Spring Framework。

于 2016-08-16T15:08:04.817 回答
0

很简单。

有两种方法可以使用自定义路径在 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 文件已部署在自定义路径上。

于 2017-07-10T07:22:32.257 回答