我怎样才能使用Ant来构建一个可执行的.jar,它在.jar的/ lib目录中有依赖.jars?

时间:2016-08-07 23:07:14

标签: java intellij-idea ant executable-jar

如何使用Ant在。 jar 中的/lib目录中构建单个可执行文件 .jar ,其中包含依赖项.jars?< / p>

我在项目根文件中有一个/lib目录,其中包含所有二进制依赖项 .jar

1 个答案:

答案 0 :(得分:0)

在java中,可执行jar具有特殊格式的manifest,其中包含以下属性:

  1. 主类
  2. 类路径
  3. 在ANT中,使用jar任务可以轻松完成以下任务:

    <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}" includes="*.class">
        <manifest>
            <attribute name="Main-Class" value="${main-class}" />
            <attribute name="Class-Path" value="${jar-classpath}" />
        </manifest>
    </jar>
    

    对于额外的功劳,可以使用非常有用的manifestclasspath任务来帮助组装正确的类路径字符串。

    <manifestclasspath property="jar-classpath" jarfile="${jar.dir}/${ant.project.name}.jar">
        <classpath>
            <fileset dir="/path/to/lib/dir" includes="*.jar"/>
        </classpath>
    </manifestclasspath>