maven-assembly-plugin使用
时间: 2023-04-29 12:06:18 浏览: 178
maven-assembly-plugin是Maven的一个插件,可以将项目打包成一个可执行的jar或war文件,并且可以配置自定义的打包方式。使用该插件可以方便地将所有的依赖以及其它资源打包成一个独立的可执行文件,方便部署和运行。对于一些复杂的项目结构,使用maven-assembly-plugin可以更加方便地打包和发布项目。
相关问题
maven-assembly-plugin插件与maven-shade-plugin有什么区别
Maven-assembly-plugin和Maven-shade-plugin都是用于将项目打包到一个单独的可执行jar中的Maven插件。它们的区别在于,assembly-plugin允许使用XML文件规定如何打包,同时可以包含原始jar文件和其它附加文件;shade-plugin则允许合并所有依赖项到一个jar文件中,同时可以重新打包类以解决冲突,但不支持像assembly-plugin那样的XML规则。一般来说,如果您需要完全控制打包过程,并包含所需的原始jar文件和附加文件,则使用maven-assembly-plugin是更好的选择。
使用maven-assembly-plugin
Maven-assembly-plugin 可以将多个模块或者多个 jar 包打包成一个可执行的 jar 包,方便部署和运行。
1. 配置 pom.xml 文件
在 pom.xml 文件中添加以下配置:
```xml
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive>
<manifest>
<mainClass>com.example.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
```
2. 执行打包命令
在项目根目录下执行以下命令:
```bash
mvn clean package
```
3. 查看打包结果
在 target 目录下会生成一个名为 `xxx-jar-with-dependencies.jar` 的文件,其中 `xxx` 是项目名。可以直接运行该文件来启动应用程序。
注意:如果项目中有多个 main 方法,需要在 pom.xml 文件中指定需要执行的 main 方法。同时,也可以在命令行中指定需要执行的类和方法:
```bash
java -cp xxx-jar-with-dependencies.jar com.example.MainClass
```
阅读全文