如何将war文件部署到JBoss服务器的子目录中?

时间:2014-01-09 11:16:25

标签: deployment jboss

这是一个愚蠢的问题,但是我的Google-fu让我失望了。我有一个JBoss服务器(实际上是EAP 6.1)和一个打包的Web应用程序myapp.war

通过将文件复制到.../standalone/deployments/,它会部署到<server>/myapp。将文件重命名为somename.war,它变为<server>/somenameROOT.war直接部署在<server上。

到目前为止一切顺利。

但是如何让应用程序出现在例如<server>/antares/myapp

我尝试在deployments/下创建一个子目录并将我的war文件放在那里,但仍然只是<server>/myapp部署。我还在Tomcat论坛上的某个地方阅读了我的文件antares#myapp.war,但是当部署扫描程序试图运行它时,这会导致错误。

在网上搜索,我到目前为止主要发现(a)Web项目的文件夹和子文件夹结构的描述,或(b)项目和子项目的内容以及如何处理依赖项。

我不需要所有这些,我只是希望我的完美战争文件能够显示出稍微更深的路径。最好不必触及许多配置文件。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

您需要将.war包装到.ear中,并将以下信息添加到application.xml中,以实现您的目标。

 <application xmlns="http://java.sun.com/xml/ns/j2ee" version="1.4"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
   xsi:schemaLocation="http://java.sun.com /xml/ns/j2ee 
                         http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
    <display-name>Your App name</display-name>

    <module>
       <ejb>a-ejb-module-if-you-have-one.jar</ejb>
    </module>
    <module>
          <web>
           <web-uri>myapp.war</web-uri>
           <context-root>antares/myapp</context-root>
          </web>
    </module>

 </application>

请查看此处的文档:Setting the context root of a web application