在tomcat 7

时间:2016-08-07 20:11:53

标签: java tomcat java-ee openshift deploying

我是Java EE和Tomcat的新手。

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

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

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 ,因为我的webservice路径无效且不起作用。

请指导我,谢谢你花在我问题上的时间。

3 个答案:

答案 0 :(得分:0)

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

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

另一方面,你必须知道Tomcat是一个Servlet容器而JBoss是一个完整的堆栈JEE服务器。如果您的Web应用程序中有EJB,则无法运行。

答案 1 :(得分:0)

ASClémentDuveau表示,EJB应用程序无法部署在Servlet容器中(如Tomcat)。 EJB应用程序需要部署在JBoss,Wildfly,GlassFish,Weblogic,Websphere,TomEE等应用服务器中。

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

建议:如果需要使用Tomcat,可以为Spring Framework更改EJB。

答案 2 :(得分:0)

很简单。

在tomcat上使用自定义路径

部署war文件有两种方法

第一个是 将war文件重命名为您想要的自定义网址(例如,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部分。

它是这样的页面:

enter image description here

Deploy框中的

只填充Context字段(它将是自定义路径,在本例中为myapp),然后选择war文件并按下部署按钮。不需要填写XML Configuration file URL字段)

然后它会给你一个这样的信息:

enter image description here

这意味着您的war文件已部署在自定义路径上。