如何將一個maven項目打出多個jar包

需求

一個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包放到指定位置總結 中的方式三

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章