【发布时间】:2018-07-06 14:20:05
【问题描述】:
我有一个从here 下载的 JAR 文件。事实证明,运行这个 JAR 需要几个其他的 JAR 文件,例如 bson4jackson-2.7.0.jar jackson-annotations-2.9.0.jar。
是否可以将我与其他 JAR 文件一起下载的 JAR 编译成单个胖 JAR 或具有依赖项的 JAR?是否有 Maven 命令可以做到这一点?
【问题讨论】:
标签: java maven dependencies
我有一个从here 下载的 JAR 文件。事实证明,运行这个 JAR 需要几个其他的 JAR 文件,例如 bson4jackson-2.7.0.jar jackson-annotations-2.9.0.jar。
是否可以将我与其他 JAR 文件一起下载的 JAR 编译成单个胖 JAR 或具有依赖项的 JAR?是否有 Maven 命令可以做到这一点?
【问题讨论】:
标签: java maven dependencies
您需要使用maven shade 插件,它会创建一个胖罐子,这里是一个示例
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<finalName>jar2</finalName>
<transformers>
<!-- add Main-Class to manifest file -->
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.greg.App</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
【讨论】: