我有一个多模块项目是以下结构:
ROOT
Module A
-- A_pom.xml
Module B depends on Module A
-- src
--- com.mycompany
---- App 1
---- App 2
-- B_pom.xml
-- B_App1_pom.xml
-- B_App2_pom.xml
pom.xml <!-- default parent pom fiel -->
second_parent_pom.xml
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>company</groupId>
<artifactId>Parent</artifactId>
<version>0.0.1</version>
<packaging>pom</packaging>
<name>Parent</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<modules>
<module>module-A</module>
<module>module-B/</module>
</modules>
</project>
从ROOT目录mvn package
帮助我构建了jar文件A.jar
和B.jar
(包括App 1和App 2)
现在我正在寻找一种方法来构建两个jar文件但是只包含App 1.但我尝试了以下代码但没有结果。
<build>
[...]
<resources>
<resource>
<directory>${basedir}</directory>
<excludes>
<exclude>/../Module_B/src/com/mycompany/App2</exclude>
</excludes>
</resource>
</resources>
</build>
当我尝试从ROOT目录中指定B_App2_pom.xml
时,它仍然指向“pom.xml”,这使我得到相同的2个jar文件A.jar
和B.jar
而不是A.jar and B_App2.jar
。
另外,我试图创建另一个父pom文件
第二个父Pom
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>company</groupId>
<artifactId>SecondParent</artifactId>
<version>0.0.1</version>
<packaging>pom</packaging>
<name>SecondParent</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<modules>
<module>module-A/B_App1_pom.xml</module>
<module>module-B/B_App2_pom.xml</module>
</modules>
</project>