gpt4 book ai didi

java - 如何使用maven将目录中的所有jar包含到ear中?

转载 作者:太空宇宙 更新时间:2023-11-04 13:27:15 25 4
gpt4 key购买 nike

我的EAR项目结构是这样的:

+- MyEar
| +- Earcontent
| +- lib
+-
+-
+- pom.xml

我想获取我构建的 MyEar.ear 中 Earcontent/lib 文件夹中的所有 jar。我在 pom.xml 中将 defaultLibBundleDir 设置为“lib”。所以我想获取 MyEar.ear/lib 文件夹中 Earcontent/lib 中的所有 jar。

 <defaultLibBundleDir>lib/</defaultLibBundleDir>

我的 pom.xml 看起来像:

<build>
<plugins>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.10.1</version>
<configuration>
<defaultLibBundleDir>lib/</defaultLibBundleDir>
</configuration>
</plugin>
</plugins>

更新:我尝试过

<plugins>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.10.1</version>
<configuration>
<defaultLibBundleDir>lib/</defaultLibBundleDir>
<packagingIncludes>${basedir}\EarContent\lib\*.jar</packagingIncludes>
</configuration>
</plugin>

但是现在当我构建ear时,ear内部的lib文件夹作为一个整体丢失了。

我在 gradle build.gradle 中尝试了相同的场景。在那里我们使用 fileTree。

compile fileTree(dir: "../MyEar/EarContent/lib", includes: ['*.jar']);

由于我使用的是 Maven,所以我想要在 Maven 中实现等效的功能

最佳答案

<defaultLibBundleDir><bundleDir> both似乎可以与 Maven Artifact 配合使用。
但是,您似乎想要包含未声明为依赖项或列为 <modules> 的 jar。 .
因此,您最好尝试通过配置 assembly 来构建 .ear 文件。 .
否则,您应该删除包含 jar 文件的 lib 目录,并在 POM 中声明所有依赖项。

关于java - 如何使用maven将目录中的所有jar包含到ear中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32518188/

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