gpt4 book ai didi

java - 将 WAR 打包到 JBoss SAR 中

转载 作者:行者123 更新时间:2023-12-01 13:13:32 26 4
gpt4 key购买 nike

我有一个 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 中时是否可以正确部署。但是,当打包在 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 中(请参阅 support in the maven ear plugin)。

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

关于java - 将 WAR 打包到 JBoss SAR 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22646858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com