如何打包jar文件包含jar文件中的类

时间:2014-07-28 10:56:09

标签: java eclipse jar

我的项目有一些依赖是jar文件。我的项目将打包为jar文件。

是否可以打包所有文件,包括从我的项目源编译的类和所有类在依赖的jar文件下。 我使用的是JDK 1.6 +。

如果可能,如何使用命令或ant或Eclipse?

3 个答案:

答案 0 :(得分:2)

将依赖jar类文件复制到项目jar文件中:

按命令使用Maven插件 maven-shade-plugin mvn package

<dependencies>下的所有类文件都将包含在项目jar文件中。

<dependencies>
    <dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
        <version>1.1.1</version>
        <type>jar</type>
    </dependency>
    <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>1.4.5</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <finalName>Test.jar</finalName>
            </configuration>
        </plugin>
    </plugins>
</build>

答案 1 :(得分:1)

你问的是可能的。但这不是一个好方法。 Jar文件就像组件一样,应该保留在自己的jar文件中。 如果将所有类文件包含在一个jar中,则无法重用它们,并且jar文件会太大。

我建议你使用Maven(http://maven.apache.org),它可以为你管理你的依赖。

答案 2 :(得分:0)

在eclipse中使用Export选项。 导出 - &gt; Runnable Jar并选择选项&#34;将所需的库打包到生成的jar&#34;

这应该符合您的需求。

HTH, Keshava。