欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Maven 打包(带依赖性 jar 包)

最编程 2024-07-18 14:58:43
...

使用插件 maven-assembly-plugin

pom文件添加配置:

<project>
    <build>
        <plugins>
            <!-- 此插件必须放在父 POM 中  -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.3.0</version>
                <executions>
                    <!--
                    执行本插件的方法为,在主目录下执行如下命令:
                    mvn package assembly:single

                    对于 IntelliJ IDEA,生成的 JAR 包位于每个模块下的文件夹 target
                    -->
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <!-- 此处 IntelliJ IDEA 可能会报红,这是正常现象  -->
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <archive>
                        <manifest>
                            <!-- 配置程序运行入口所在的类 -->
                            <mainClass>包名.类名</mainClass>
                        </manifest>
                    </archive>
                    <!-- 设置 JAR 包输出目录 -->
                    <outputDirectory>${project.build.directory}/#maven-assembly-plugin</outputDirectory>
                    <!-- 设置打包后的 JAR 包的目录结构为默认 -->
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

然后进入到该pom文件的目录,cmd执行:

mvn clean package assembly:single -P pro
//-P: 代表执行哪个环境的配置文件


//如果要跳过单元测试,可执行如下命令:
mvn clean package assembly:single '-Dmaven.test.skip=true'

参考文章:

将 Maven 中的多模块项目只打成一个 JAR 包_暗诺星刻的博客-****博客_cannot include project artifact