天天看點

Java——maven多子產品項目打jar包如何把依賴包也打包進去

作者專注于Java、架構、Linux、小程式、爬蟲、自動化等技術。 工作期間含淚整理出一些資料,微信搜尋【javaUp】,回複 【java】【黑客】【爬蟲】【小程式】【面試】等關鍵字免費擷取資料。
1.maven-jar-plugin,預設的打包插件,用來打普通的project JAR包;

2.maven-shade-plugin,用來打可執行JAR包,也就是所謂的fat JAR包;

3.maven-assembly-plugin,支援自定義的打包結構,也可以定制依賴項等。           
<!-- maven 打包內建插件 -->
<plugin>
	<artifactId>maven-assembly-plugin</artifactId>
	<executions>
		<execution>
			<!-- 綁定到package生命周期 -->
			<phase>package</phase>
			<goals>
				<!-- 隻運作一次 -->
				<goal>single</goal>
			</goals>
		</execution>
	</executions>
	<configuration>
		<descriptorRefs>
			<!-- 将依賴一起打包到 JAR -->
			<descriptorRef>jar-with-dependencies</descriptorRef>
		</descriptorRefs>
		<archive>
			<manifest>
				<!-- 配置主程式 java -jar 預設Class -->
				<addClasspath>true</addClasspath>
				<classpathPrefix>lib/</classpathPrefix>
				<mainClass>com.xx.xx.xx</mainClass>
			</manifest>
		</archive>
	</configuration>
</plugin>