gpt4 book ai didi

maven - 如何让 Maven EAR 插件自动管理依赖的类路径?

转载 作者:行者123 更新时间:2023-12-04 18:24:32 25 4
gpt4 key购买 nike

大约 12 个月前,我开始使用 maven ear 插件,想知道是否有任何替代方案。 Maven 的好处之一是依赖管理,但是使用 ear 插件似乎几乎完全失去了这一点。它将所有依赖的 jar 构建到耳朵中,但实际上不会在不添加以下配置的情况下将它们中的任何一个放在类路径中:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.4</version>
<configuration>
<version>6</version>
<modules>
<ejbModule>
<groupId>com.mycompany.app</groupId>
<artifactId>MyApplication-ejb</artifactId>
</ejbModule>

<jarModule>
<groupId>axis</groupId>
<artifactId>axis</artifactId>
<bundleDir>lib</bundleDir>
</jarModule>
<jarModule>
<groupId>commons-discovery</groupId>
<artifactId>commons-discovery</artifactId>
<bundleDir>lib</bundleDir>
</jarModule>
<jarModule>
<groupId>axis</groupId>
<artifactId>axis-wsdl4j</artifactId>
<bundleDir>lib</bundleDir>
</jarModule>
</modules>
</configuration>
</plugin>

我是否遗漏了一些最新版本的插件是否消除了对此的需求,是否有替代方案可以为您管理这个?我不敢相信每次向模块添加依赖项时,我都需要将其添加到 ear pom 配置中。最令人沮丧的是,即使我记得在上面的配置中添加了一个依赖库,如果这又依赖于其他东西(就像轴的情况一样),我只是在部署耳朵时才发现。

最佳答案

首先,您应该为 ear (当然还有 ear )提供一个单独的模块,如下所示:

root
+-- client
! +--- pom.xml
+-- service
! +--- pom.xml
+-- ear
+--- pom.xml

其次你应该更新ear插件的版本,因为当前版本是2.6。此外,将您的部分定义为依赖项

 <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.5</version>
</plugin>
</plugins>
</build>

<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>webgui</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>service</artifactId>
<version>${project.version}</version>
<type>ejb</type>
</dependency>
</dependencies>

您使用的配置旨在用于应打包的补充 3rd 方库。

关于maven - 如何让 Maven EAR 插件自动管理依赖的类路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7075263/

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