如何使用maven制作罐子罐子

时间:2012-06-18 10:07:33

标签: java maven maven-plugin

  

可能重复:
  Including dependencies in a jar with Maven

我是maven的初学者,并希望使用maven在其中构建一个包含依赖关系jar的jar。但是,我不能这样做。请帮助我。

3 个答案:

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