使用外部库构建Java Ant

时间:2011-05-19 18:43:12

标签: java ant build jar

我在mz ant脚本中有以下目标来构建我的java应用程序

<target name="jar" depends="compile" description="generate jar">
    <jar jarfile="${build.dir}/jar/final.jar" basedir="${build.dir}/classes">
        <manifest>
            <attribute name="Main-Class" value="my.package.Main" />
        </manifest>
    </jar>
</target>

我需要的是以某种方式将log4j包含在jar中,因为它在使用

运行时抛出NoClassDefFoundError
java -jar final.jar

实现这一目标的最佳方法是什么?

最佳, 将

2 个答案:

答案 0 :(得分:4)

我可以用zipgroupfileset

解决我的问题
    <jar jarfile="${build.dir}/jar/final.jar">
        <fileset dir="${build.dir}/classes" />
        <zipgroupfileset dir="${lib.dir}" includes="*.jar"/>
        <manifest>
            <attribute name="Main-Class" value="my.pacakge.Main" />
        </manifest>
    </jar>

答案 1 :(得分:1)

尝试添加包含参数设置,例如

includes="<path-to-log4j-folder>/*.jar"

详细语法为here