如何在maven的一个构建块中创建不同的jar文件?
我有一个maven项目,它编译两个不同的项目,然后在此目录中创建类:${project.build.directory}/classes 其中${project.build.directory}指向pom.xml存在的目录 我使用不同“执行”块的maven-jar插件,使jar文件从每个项目的相关目录/类中提取出来。我是maven的新手,很难定义正确的“include”和“exclude”目录 这是我的类所驻留的结构: \目标\classes\com \目标\classes\com\microsoft \target\classes\com\google \目标\类别\组织 第一个jar文件需要从这些类中创建: \目标\classes\com\microsoft \目标\类别\组织 第二个jar需要从这些类中创建: \target\classes\com\google 下面是“构建”块的一部分,其中包含用于创建这些JAR的“执行”块。第一个jar名为:msnprod,另一个jar名为:google。如您所见,我尝试了所有不同的组合来创建这些JAR,但没有一个成功——它们作为注释部分存在于下面的构建块中 谁能帮我一下吗?非常感谢您的帮助如何在maven的一个构建块中创建不同的jar文件?,maven,jar,pom.xml,Maven,Jar,Pom.xml,我有一个maven项目,它编译两个不同的项目,然后在此目录中创建类:${project.build.directory}/classes 其中${project.build.directory}指向pom.xml存在的目录 我使用不同“执行”块的maven-jar插件,使jar文件从每个项目的相关目录/类中提取出来。我是maven的新手,很难定义正确的“include”和“exclude”目录 这是我的类所驻留的结构: \目标\classes\com \目标\classes\com\micros
<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>
org.apache.maven.plugins
maven jar插件
2.3.2
msn产品
罐子
产生资源
msn产品
${project.build.directory}/classes
**/com/microsoft/*.class
**/org/*.class
${msn.prod}-${msn.api.version}
谷歌
罐子
产生资源
谷歌
${project.build.directory}/classes/com/google
**/*.类
${google}-${google.api.version}
您违反了Maven的最佳实践,即每个模块一个构建工件,因此遇到了麻烦。只要把它分解成多个项目,就很容易了