【发布时间】:2018-11-11 07:45:24
【问题描述】:
我有 3 个 maven 项目,分别是 P1、P2 和 P3。我已将 P1 的依赖项添加到 P2 中,并将 P2 的依赖项添加到 P3 中。如何创建 P3 的独立 jar? 我正在使用 Eclipse,所有三个 Maven 项目都在同一个工作区中。
【问题讨论】:
我有 3 个 maven 项目,分别是 P1、P2 和 P3。我已将 P1 的依赖项添加到 P2 中,并将 P2 的依赖项添加到 P3 中。如何创建 P3 的独立 jar? 我正在使用 Eclipse,所有三个 Maven 项目都在同一个工作区中。
【问题讨论】:
您构建项目 P3,并配置 Maven 以构建一个包含所有依赖项的“胖 jar”。
最直接的方法是通过Maven组装插件构建jar-with-dependencies:
【讨论】:
mvn install),对吗?然后只需将 second xml sn-p 复制并粘贴到 pom.xml 的 <plugins> 部分。现在每个mvn install 都会创建一个包含所有依赖项的附加 jar。
我建议使用maven-shade-plugin 而不是组装插件,因为最新的组装插件 (3.1.0) 非常慢,并且需要花费一分钟多的时间来打包我们的一些 jar。切换到阴影插件解决了这个问题。该插件有一组丰富的配置选项,例如create an executable jar。
这是一个没有任何自定义配置的基本示例:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
【讨论】: