需求
一個maven項目中有多個類有main方法,一次打出多個jar包使這些jar包有不同的主函數
解決
方式一:通過多個pom文件打包
比如再寫一個pom2.xml,使用命令 mvn install -f pom2.xml 指定pom文件進行打包
方式二:通過maven-assembly-plugin
案例:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>jar1</id>
<configuration>
<finalName>jar1</finalName>
<archive>
<manifest>
<mainClass>com.test.Test</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<phase>install</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
<execution>
<id>jar2</id>
<configuration>
<finalName>jar2</finalName>
<archive>
<manifest>
<mainClass>com.test.Test2</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<phase>install</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin>
擴展
方式二中可以打出兩個jar包,名稱爲 jar1-jar-with-dependencies.jar 和 jar2-jar-with-dependencies.jar,這裏後綴是自動加上的,怎麼才能修改jar包的名稱呢?
使用maven-antrun-plugin這個插件,通過move命令修改名稱
詳見 maven打完jar包之後將jar包放到指定位置總結 中的方式三