我有一个带有父模块和两个子模块的 Maven 项目:Service
和API
. 该Service
模块是一个 WAR 并包含项目的所有源文件,而该API
模块的存在纯粹是为了构建一个包含来自 Service 模块的类子集的 jar,并将该 jar 部署到本地 maven 存储库。
我已经尝试了maven-dependency-plugin
和 的组合maven-assembly-plugin
来复制Service
战争并将其包含在已部署的API
JAR 中,但我正在努力寻找一种方法来从服务模块中提取一组特定的类,而不是在整个胖战争。
来自API
pom.xml:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<excludeGroupIds>...</excludeGroupIds>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>single</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
<configuration>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
</configuration>
</plugin>
</plugins>
我曾考虑过使用maven-jar-plugin
来自Service
模块的 pom 来构建苗条的 JAR,但这似乎是一种不好的做法。建议?