编译具有所有JAR依赖项的JAR文件

时间:2018-07-06 14:20:06

标签: java maven dependencies

我有一个从here下载的JAR文件。事实证明,要运行此JAR,需要其他几个JAR文件,例如bson4jackson-2.7.0.jar jackson-annotations-2.9.0.jar。

是否可以将我与其他JAR文件下载的JAR编译为单个胖JAR或具有依赖项的JAR?有Maven命令可以做到吗?

1 个答案:

答案 0 :(得分:1)

您需要使用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>