如何使用Ant在中的/lib
目录中构建一个具有依赖项.jar的可执行文件.jar罐子?
我在项目根文件中有一个/lib
目录,其中包含所有二进制依赖项.jars。
在java中,可执行jar有一个特殊格式的清单,其中包括以下属性:
- 主要类别
- 类路径
在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任务来帮助组装正确的classpath字符串。
<manifestclasspath property="jar-classpath" jarfile="${jar.dir}/${ant.project.name}.jar">
<classpath>
<fileset dir="/path/to/lib/dir" includes="*.jar"/>
</classpath>
</manifestclasspath>