繁体   English   中英

使用JBoss SAR打包WAR

[英]Package a WAR in with a JBoss SAR

我有一个JBoss SAR,我想用它打包WAR(Spring MVC Web应用程序)。 原因是此Web应用程序可在已部署此SAR的任何JBoss上使用。 我在SAR的POM中添加了对WAR的依赖性,并看到它们被打包在SAR中。 但是,当我打开Web应用程序的URL时找不到该Web应用程序,但是如果我单独部署该Web应用程序,则它会打开。

编辑我现在正在尝试将WAR和SAR打包到EAR中。 我确认我可以分别部署SAR和WAR,并且它们各自都以这种方式工作。 我验证了将WAR与SAR打包在EAR中时是否正确部署。 但是,将SAR打包在EAR中时不会部署SAR。 这是EAR的POM(使标识符通用):

<groupId>com.company</groupId>
<artifactId>my-ear</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>ear</packaging>

<!-- name, url, properties omitted -->

<dependencies>
<!-- NOT Deploying -->
<dependency>
    <groupId>com.company</groupId>
        <artifactId>MySAR</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>sar</type>
</dependency>
<!-- Deploys OK -->
<dependency>
    <groupId>com.company</groupId>
        <artifactId>MyWAR</artifactId> 
        <version>1.0.0-BUILD-SNAPSHOT</version>
        <type>war</type>
</dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.9</version>
            <configuration>
                <modules>
                    <sarModule>
                        <groupId>com.company</groupId>
                        <artifactId>MySAR</artifactId>
                    </sarModule>
                    <webModule>
                        <groupId>com.company</groupId>
                        <artifactId>MyWAR</artifactId>
                    </webModule>
                </modules>
            </configuration>
        </plugin>
    </plugins>
</build>

您实际上无法做到这一点。 服务档案(SAR)用于定义独立加载和运行的组件。 最明显的形式是您在JMX域上部署的服务。

sar可以独立部署,也可以捆绑在EAR中(请参阅maven ear插件中的支持 )。

但是您不能在sar中部署Web应用程序。 您应该有两个不同的部署单元,或者将它们打包在EAR中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM