如何将多个Jar文件合并到一个可交付的Jar中?

时间:2013-09-24 17:31:51

标签: java eclipse ant jar

我一直在研究如何找到一种方法将多个Jar文件组合到Jar上作为可交付成果。

在一个目录中,我有一个名为Jar_gen.xml的ant文件,该文件完整地由以下代码组成

<target name="combine-jars">
    <jar destfile="out.jar">
        <zipgroupfileset dir="lib" includes="*.jar"/>
    </jar>
</target>

在同一目录中,我有另一个名为lib的目录,其中包含我想要展平的所有Jar文件。

我一直在用

运行ant脚本
ant -buildfile Jar_gen.xml

确保我从Jar_gen.xml文件所在的目录运行它。

我的蚂蚁脚本没有输出,我不明白为什么。有人可以帮我修改我的脚本,这样我就可以压扁所有的罐子并继续构建我的可交付包。

请注意

我没有主要课程,因此Eclipse可运行的Jar对我不起作用

我在运行Ant脚本方面经验很少,所以完整的答案会非常有用。

1 个答案:

答案 0 :(得分:4)

您的目录结构是否设置正确?

我使用你的脚本创建了一个快速测试,它看起来很有效,因为你已经在目录结构中设置了所有内容

project_root_dir
- build.xml
- lib
  - a.jar
  - b.jar

和build.xml看起来像:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project name="test">
    <target name="combine-jars">
        <jar destfile="out.jar">
            <zipgroupfileset dir="lib" includes="*.jar"/>
        </jar>
    </target>
</project>

当我去project_root_dir并运行“ant combine-jars”时,我得到一个out.jar,其中包含a.jar和b.jar的内容。