我是maven的初学者,并希望使用maven在其中构建一个包含依赖关系jar的jar。但是,我不能这样做。请帮助我。
答案 0 :(得分:1)
如果您正在尝试创建一个包含您的应用程序及其所需库的jar,那么有两种方法(我知道)可以做到这一点。第一个是One-Jar,它使用特殊的类加载器来允许嵌套jar。第二个是UberJar,(或Shade),它会爆炸包含的库并将所有类放在顶级jar中。
我还应该提到UberJar和Shade分别是Maven1和Maven2的插件。如下所述,您还可以使用程序集插件(实际上它更强大,但更难以正确配置)。
答案 1 :(得分:0)
使用shade
插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
答案 2 :(得分:-1)
您可以在pom.xml
文件中包含以下内容。
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>MainClass with the packages</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>