码头部署战争档案

时间:2016-02-26 13:04:00

标签: tomcat jetty war

我创建了一个grails应用程序,它在IDEA中运行正常,然后我将其打包为gradle所示的名为api.war的war文件。在jetty(版本为9.3.7)之后部署它,我在chrome中访问它。Something wrong like this。如果我直接在浏览器中输入网址“http://localhost:8080/api/json/xxx.json”,我可以访问数据时,应用无法访问数据。

然后我将其重命名为root.war,以便我可以通过根路径访问它。该应用程序正常工作!它可以完美地访问数据。

如果我有两个应用程序,它们都像api.war。如你所见,根路径不能是一半,我该怎么办?顺便说一句,我在部署之后找不到webapps中的任何文件夹。这是tomcat和jetty之间的区别吗?

1 个答案:

答案 0 :(得分:0)

您无需复制战争文件。看看下面的步骤,这些可以帮助你:

  1. 将您的文件复制到文件系统中的文件夹。例如,在/opt/war
  2. 在您的webapps文件夹下创建两个xml文件。
  3. 将每个xml定义为下面的描述;
  4. <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" 
        "http://www.eclipse.org/jetty/configure_9_0.dtd">
    <Configure id="app1" class="org.eclipse.jetty.webapp.WebAppContext">
        <Set name="war">/opt/war/app.war</Set>
        <Set name="contextPath">/app1</Set>
    </Configure>
    

    对于每个应用程序,您需要定义id和contextPath

    我希望答案可以帮助你