作者專注于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>