一、生成主 jar 和依賴 lib 資料夾
這種方式構建出來的 jar 包只包含你自己寫的程式碼,而第三方依賴 jar 包都包含在 lib 資料夾裡面,執行時需要把 .jar 包和 lib 資料夾放在同級目錄執行。
在你專案的 pom.xml
檔案中的 project
->build
->plugins
節點下面新增以下程式碼 ( mainClass
標籤中的內容改成你的專案啟動類) :
<!-- 打包第一種方式, 生成主jar和依賴lib資料夾 -->
<!-- 設定程式主類和依賴資料夾 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.wskfz.xmlrpctool.MainJFrame</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<!-- 拷貝依賴的jar包到lib資料夾 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>copy</id>
<phase>install</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>
${project.build.directory}/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
複製程式碼
二、把所有依賴和主程式打成一個jar包
這種方式構建出來的 jar 包, 你自己寫的程式碼和第三方依賴都在裡面, 可以獨立執行.
<!-- 打包第二種方式, 把所有依賴和主程式打成一個jar包 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.3</version>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.wskfz.xmlrpctool.MainJFrame</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin>
複製程式碼
根據實際情況選擇一種合適的方式, 修改儲存後, 在 NetBeans 中你的專案上右鍵 清除並構建
即可打包. 完成後在你專案資料夾的 target
資料夾下面即可看到你打出來的 jar 包.