【问题标题】:How can I deploy a war-file to a subdirectory of my JBoss server?如何将战争文件部署到我的 JBoss 服务器的子目录?
【发布时间】:2014-01-09 11:16:24
【问题描述】:

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

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

到目前为止一切顺利。

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

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

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

我不需要所有这些,我只想让我完美的战争文件显示出更深的路径。最好不用接触很多配置文件。

我错过了什么?

【问题讨论】:

  • 这对于 Tomcat 是可能的,请参阅 this。但是,我不知道这个配置是否适用于 JBoss(尽管基于 Tomcat)。

标签: deployment jboss


【解决方案1】:

您需要将 .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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2013-02-09
    • 1970-01-01
    • 2021-03-24
    • 2011-06-01
    相关资源
    最近更新 更多