在 NetBeans 中打包 Maven 项目的两种方式

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