我有一个 Maven 项目,它编译两个不同的项目,然后在这个目录中创建类: ${project.build.directory}/classes
其中 ${project.build.directory} 指向 pom.xml 存在的目录。
我正在使用具有不同“执行”块的 maven-jar-plugin 将 jar 文件从每个项目的相关目录/类中制作出来。我对 Maven 很陌生,很难定义正确的“包含”和“排除”目录。
这是我的课程所在的结构:
\目标\类\com
\target\classes\com\microsoft
\target\classes\com\google
\目标\类\组织
第一个 jar 文件需要从这些类中创建:
\target\classes\com\microsoft
\目标\类\组织
并且需要从这些类中创建第二个 jar:
\target\classes\com\google
以下是“构建”块的一部分,它具有“执行”块来创建这些 jar。第一个 jar 称为:msn-prod,另一个称为:google。如您所见,我尝试了所有不同的组合来创建这些 jar,但都没有奏效——它们作为被注释的部分存在于以下构建块中。
有人可以帮我吗?任何帮助是极大的赞赏。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<executions>
<execution>
<id>msn-prod</id>
<goals><goal>jar</goal></goals>
<phase>generate-resources</phase>
<configuration>
<classifier>msn-prod</classifier>
<!-- <classesDirectory>${project.build.directory}/classes/com/microsoft</classesDirectory>
<includes>
<include>**/*.class</include>
</includes>
<classesDirectory>${project.build.directory}/classes/org</classesDirectory>
<includes>
<include>**/*.class</include>
</includes>-->
<classesDirectory>${project.build.directory}/classes</classesDirectory>
<!-- <includes>
<include>**/*.class</include>
</includes>-->
<!-- <excludes>
<exclude>**/com/google/*</exclude>
</excludes>-->
<!-- <excludes>
<exclude>**/google/*.class</exclude>
</excludes>-->
<includes>
<include>**/com/microsoft/*.class</include>
<include>**/org/*.class</include>
</includes>
<finalName>${msn.prod}-${msn.api.version}</finalName>
</configuration>
</execution>
<execution>
<id>google</id>
<goals><goal>jar</goal></goals>
<phase>generate-resources</phase>
<configuration>
<classifier>google</classifier>
<!-- <classesDirectory>${project.build.directory}/classes</classesDirectory>
<includes>
<include>**/com/google/*.class</include>
</includes>-->
<classesDirectory>${project.build.directory}/classes/com/google</classesDirectory>
<includes>
<include>**/*.class</include>
</includes>
<finalName>${google}-${google.api.version}</finalName>
</configuration>
</execution>
</executions>
</plugin>