【问题标题】:How do I combine multiple Jar files into one deliverable Jar?如何将多个 Jar 文件合并到一个可交付的 Jar 中?
【发布时间】:2013-09-30 01:29:40
【问题描述】:

我一直在研究试图找到一种方法将多个 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 文件所在的同一目录运行它。

我的 ant 脚本没有输出,我也不知道为什么。有人可以帮我修复我的脚本,这样我就可以展平我所有的 jar 并继续构建我的可交付包。

注意

我没有主类,所以 Eclipse 可运行 Jar 对我不起作用

我很少有运行 Ant 脚本的经验,所以完整的答案会很有帮助。

【问题讨论】:

标签: java eclipse ant jar


【解决方案1】:

您的目录结构设置正确吗?

我使用您的脚本创建了一个快速测试,它似乎可以工作,因为您已在目录结构中设置了所有内容

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”时,我得到一个包含 a.jar 和 b.jar 内容的 out.jar。

【讨论】:

  • 这个答案是正确的,我缺少 xml 标头和项目标签,而且我的命令行调用错误,我需要添加目标名称。
猜你喜欢
  • 2011-07-02
  • 2010-10-27
  • 2013-08-28
  • 1970-01-01
  • 1970-01-01
  • 2016-12-24
  • 2010-12-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多