Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何打包jar文件,在jar文件中包含类_Java_Eclipse_Jar - Fatal编程技术网

Java 如何打包jar文件,在jar文件中包含类

Java 如何打包jar文件,在jar文件中包含类,java,eclipse,jar,Java,Eclipse,Jar,我的项目有一些依赖项,它们是jar文件。我的项目将打包为jar文件 是否可以打包所有文件,包括从项目源代码编译的类以及依赖jar文件下的所有类。 我正在使用JDK1.6+ 如果可能,如何使用命令、ant或Eclipse实现这一点?在Eclipse中使用导出选项。 Export->Runnable Jar并选择选项“将所需库打包到生成的Jar中” 这应该适合你的需要 嗯,, 凯沙瓦。你的要求是可能的。但这不是一个好办法。 Jar文件类似于组件,应该保存在它们自己的Jar文件中。 如果将所有类文件都

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

是否可以打包所有文件,包括从项目源代码编译的类以及依赖jar文件下的所有类。 我正在使用JDK1.6+


如果可能,如何使用命令、ant或Eclipse实现这一点?

在Eclipse中使用导出选项。 Export->Runnable Jar并选择选项“将所需库打包到生成的Jar中”

这应该适合你的需要

嗯,,
凯沙瓦。

你的要求是可能的。但这不是一个好办法。 Jar文件类似于组件,应该保存在它们自己的Jar文件中。 如果将所有类文件都包含在一个jar中,则不可能重用它们,而且jar文件将太大


我建议您使用Maven(),它可以为您管理依赖关系。

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

通过命令使用Maven插件:mvn包

下的所有类文件都将包含在项目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>

com.googlecode.json-simple
简单json
1.1.1
罐子
javax.mail
邮件
1.4.5
org.apache.maven.plugins
maven阴影插件
包裹
阴凉处
Test.jar

请参阅此处的另一篇文章,也可以查看ANT示例。这将使用jar xvf解包其他包,然后使用mv将它们的类移动到目标文件夹,然后使用jar cvf创建目标jar。这是优雅的方式吗?还有别的办法吗@对于eclipse,当自动构建项目而不是手动导出时,是否可以做同样的事情?是的,我现在需要一个胖罐子。在这种情况下,您可以使用Maven插件来实现这一点。