【问题标题】:WAR deployment to JBoss fails because it calls a SAR packaged in an EARWAR 部署到 JBoss 失败,因为它调用了打包在 EAR 中的 SAR
【发布时间】:2014-03-27 16:39:52
【问题描述】:

我正在使用 Maven 将 JBoss 服务存档 (SAR) 和 WAR 一起打包到 EAR 中,以便部署到 JBoss。我遇到的问题是,在此服务器上运行的另一个独立 WAR 在 JBoss 启动时调用了上述 SAR 提供的服务。因为 JBoss包含 SAR 的 EAR 之前部署了独立 WAR,所以独立 WAR 会抛出错误,因为它正在调用的服务尚未部署。

有没有办法让 JBoss 先部署 EAR?这甚至是正确的方法吗?

一种解决方法是先手动部署 EAR,然后部署调用 WAR,但我不想依赖手动部署每个,因为有时 JBoss 会简单地重新启动。

【问题讨论】:

  • 你不能从 .war 中添加一个依赖项到 ear 吗?这是哪个版本的 JBoss?
  • ... 或将 .sar 完全部署为一个单独的包,并让使用它的东西依赖它。如果它也被其他人使用,为什么还要将它放在 .ear 中?
  • 它是 JBoss 4.2.2。如果没有太多细节,.sar 和 1 个特定的 .war 应该放在一起,因此我将它们放在 .ear 中。目标是将此 .sar 部署到的任何服务器都将附带此 .war。那么您是说将“问题”独立 .war 更改为依赖 .ear 吗?
  • 我已经用 JBoss AS 7 完成了。没有使用 JBoss 4 的经验,不知道它是怎么做到的,抱歉。

标签: java maven jakarta-ee deployment jboss


【解决方案1】:

对我有用的解决方案是更改包装。我没有像最初那样将 SAR 和 WAR 打包在 EAR 中,而是将 WAR 打包在 SAR 中。

.ear files get deployed several priorities below .sar files 并且鉴于 .sar 旨在扩展 JBoss 并且默认情况下被赋予高部署优先级,我推断降低 .sar 优先级的结果可能会产生意想不到的后果。在我的例子中,服务器上调用 .sar 提供的服务的另一个 Web 应用程序开始失败。

为了将 .war 与 .sar 一起打包,我使用了 maven-dependency-plugin:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy-installed</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>copy</goal>
                    </goals>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>com.company</groupId>
                                <artifactId>artifact-id</artifactId>
                                <type>war</type>
                                <version>1.0.0-BUILD-SNAPSHOT</version>
                            </artifactItem>
                        </artifactItems>
                        <outputDirectory>${project.build.directory}/${project.name}-${project.version}</outputDirectory>
                    </configuration>
                </execution>
            </executions>
        </plugin>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 2014-07-25
    • 1970-01-01
    • 2012-07-21
    • 2018-06-02
    • 1970-01-01
    相关资源
    最近更新 更多