【Maven学习】Maven打包生成包含所有依赖的jar包

2022-09-02 10:44:00 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

maven打包生成的普通jar包,只包含该工程下源码编译结果,不包含依赖内容。同时,maven提供以下方式生成包含所有依赖的jar文件,依赖以class的方式存在; 将此plugin添加到pom文件中

代码语言:javascript复制
             <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <!--这部分可有可无,加上的话则直接生成可运行jar包-->
                    <!--<archive>-->
                        <!--<manifest>-->
                            <!--<mainClass>${exec.mainClass}</mainClass>-->
                        <!--</manifest>-->
                    <!--</archive>-->
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>

如果出现CLASS重名的情况,这时候就要把最新的版本号添加进去即可,

2.在当前项目下执行mvn assembly:assembly, 执行成功后会在target文件夹下多出一个以-jar-with-dependencies结尾的JAR包. 这个JAR包就包含了项目所依赖的所有JAR的CLASS.

3.如果不希望依赖的JAR包变成CLASS的话,可以修改ASSEMBLY插件.

  • 找到assembly在本地的地址,一般是 c:/users/${your_login_name}/.m2/orgapachemavenpluginsmaven-assembly-plugin2.4
  • 用WINZIP或解压工具打开此目录下的maven-assembly-plugin-2.4.jar, 找到assembliesjar-with-dependencies.xml
  • 把里面的UNPACK改成FALSE即可

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139380.html原文链接:https://javaforall.cn

0 人点赞