我有 2 个独立的 Maven 项目。
第一个构建了很多工件,并将它们打包到一个 EAR 中。这是标准产品。
第二个项目是为客户定制的,并构建了一些额外的 JAR 文件。我需要一种机制将这 2 个 JAR 文件插入到第一个项目构建的 EAR 的 lib 目录中。
有没有一种很好的简单方法可以做到这一点,我在第二个项目中列出了第一个项目的工件,这样它就不需要知道它是如何组合在一起的,它只是插入了额外的 JARS。
我有 2 个独立的 Maven 项目。
第一个构建了很多工件,并将它们打包到一个 EAR 中。这是标准产品。
第二个项目是为客户定制的,并构建了一些额外的 JAR 文件。我需要一种机制将这 2 个 JAR 文件插入到第一个项目构建的 EAR 的 lib 目录中。
有没有一种很好的简单方法可以做到这一点,我在第二个项目中列出了第一个项目的工件,这样它就不需要知道它是如何组合在一起的,它只是插入了额外的 JARS。
您需要将这些补充 jar 文件作为依赖项添加到项目 pom 中,此外,您需要将它们添加到maven-ear-plugin配置中:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.9</version>
<configuration>
[...]
<modules>
<jarModule>
<groupId>artifactGroupId</groupId>
<artifactId>artifactId</artifactId>
<bundleDir>lib</bundleDir>
</jarModule>
</modules>
</configuration>
</plugin>
</plugins>
</build>
您可以通过指定第一个 ear 文件的 als 依赖项,在第二个 ear 文件中包含另一个 ear 文件的内容,但使用<type>pom</type>
代替ear
:
如果指定ear 依赖,传递依赖不会被解析(ear 被定义为容器类型)。如果您改用 pom,则第一个耳朵的所有依赖项都是对第二个耳朵的(传递)依赖项,因此包括在内。