maven 打包带依赖包
时间: 2024-08-04 11:01:39 浏览: 43
用Maven打成可执行jar,包含maven依赖,本地依赖的操作
Maven是一个流行的项目管理和自动化构建工具,它通过pom.xml文件管理项目的构建、依赖和生命周期阶段。当你打包(通常指的是执行`mvn package`命令)一个Maven项目时,Maven会自动将你的项目及其所有依赖项整合成一个或多个JAR文件,这个过程称为“打成JAR包”。
在打包过程中,Maven会遵循Transitive Dependency Resolution(递归依赖解决),这意味着如果你在pom.xml中声明了一个依赖,Maven会同时包含那个依赖以及该依赖的所有间接依赖。这样做的目的是为了提供一个完整的运行环境,用户无需手动添加所有的依赖。
要创建一个包含所有依赖的自包含jar,你需要在pom.xml中配置`<archive>`标签,比如设置`<manifest>...</manifest>`部分,以及使用maven-assembly-plugin插件来创建fat-jar(即包含了所有依赖的单一jar):
```xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.4.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>your.MainClass</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
```
阅读全文