Maven Assembly Plugin

来源:互联网 发布:社交网络营销策划方案 编辑:程序博客网 时间:2024/06/06 09:16

Maven项目中一般只会将项目的源代码编译分发,而依赖包等都不会被包括在这个范围内,即项目的最终输出不会包含依赖包、模块等项目运行时所必须的包和文件。如果想在分发的包中包含这些依赖包和模块,需要使用maven assembly plugin。

Maven Assembly Plugin的使用很简单,只需在pom.xml中添加如下配置

  <build>

  <finalName>rest</finalName>

  <plugins>

  <plugin>

  <artifactId>maven-compiler-plugin</artifactId>

  <version>3.6.1</version>

  <configuration>

  <source>1.8</source>

  <target>1.8</target>

  </configuration>

  </plugin>

  <plugin>

  <artifactId>maven-assembly-plugin</artifactId>

  <version>3.0.0</version>

  <configuration>

  <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>

  <plugin>

  <artifactId>maven-jar-plugin</artifactId>

  <version>3.0.2</version>

  </plugin>

  </plugins>

  </build>

然后,执行如下命令创建一个项目

RossideMacBook-Pro:rest rossi$ mvn package

当构建成功后,在target目录下会生成两个jar包,一个以with-dependencies结尾的jar就是打包了依赖包的。

构建过程中如果有报NoClassDefFoundError,注意看下是哪个jar的,可能的原因是maven在下载jar的时候有问题,将该jar所在目录下所有的文件删除,再运行mvn package,让maven重新下载即可。






0 0
原创粉丝点击