Maven打包生成包含所有依赖的jar包
程序员文章站
2022-04-28 18:58:46
...
maven打包生成的普通jar包,只包含该工程下源码编译结果,不包含依赖内容。同时,maven提供以下方式生成包含所有依赖的jar文件,依赖以class的方式存在;
将此plugin添加到pom文件中
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.atguigu.appclient.AppMain</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
如果出现CLASS重名的情况,这时候就要把最新的版本号添加进去即可,
2.在当前项目下执行mvn assembly:assembly, 执行成功后会在target文件夹下多出一个以-jar-with-dependencies结尾的JAR包. 这个JAR包就包含了项目所依赖的所有JAR的CLASS.
3.如果不希望依赖的JAR包变成CLASS的话,可以修改ASSEMBLY插件.
找到assembly在本地的地址,一般是
c:/users/${your_login_name}/.m2/\org\apache\maven\plugins\maven-assembly-plugin\2.4
用WINZIP或解压工具打开此目录下的maven-assembly-plugin-2.4.jar, 找到assemblies\jar-with-dependencies.xml
把里面的UNPACK改成FALSE即可
上一篇: Android开发中为EditText的输入长度设置
下一篇: 详细介绍AndroidStudio工程的settings.gradle、Project的build.gradle、Module的build.gradle、gradle/wrapper作用
推荐阅读
-
用Maven打成可执行jar,包含maven依赖,本地依赖的操作
-
解决maven无法下载依赖的jar包的问题
-
Maven把项目依赖的所有jar包都打到同一个jar中
-
IntelliJ IDEA或maven打包含main的jar包方法步骤
-
maven依赖的jar包不在repository中
-
maven多项目打包报错---子模块相互依赖打包时所遇到的问题:依赖的程序包找不到 package xxx does not exist
-
maven配置安装项目依赖的本地jar包到本地仓库上并引用
-
【maven】maven 将依赖的jar包打入jar包中
-
maven无法加载本地jar包以及打包时本地jar没有打进去 的解决办法
-
idea maven package无法将依赖的jar包打入一个jar包