在 NetBeans 中打包 Maven 專案的兩種方式

Hext123發表於2018-06-14

一、生成主 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 包.

相關文章