build.xml ANT构建中类路径的相对路径

时间:2015-06-23 15:17:43

标签: java eclipse ant jar

我正在尝试打包jar并在清单的属性类路径中我想添加所有可靠的jar存在的路径。一种方法是复制目录中的所有jar并在类路径中提供名称,如下所示:

    <path id="lib-classpath">
        <fileset dir="${libApp.dir}">
            <include name="**/*.jar"/>
        </fileset>
    </path>

    <!-- convert classpath to a flat list/string -->
        <pathconvert property="lib.classpath" pathsep=" ">
            <path refid="lib-classpath" />
            <flattenmapper />
        </pathconvert>

        <copy todir="${out.dir}" flatten="true">  
            <fileset dir="${libApp.dir}" />
        </copy>

<echo message="  Generating JAR " />
                <delete file="${out.dir}/${file-name}" />
                <jar destfile = "${out.dir}/${file-name}" basedir = "${bin.dir}" includes = "**/*">
                    <fileset dir=".">
                        <include name="**/*.properties" />
                    </fileset>
                    <manifest >
                        <attribute name="Class-Path" value="${lib.classpath}" />
                        <attribute name="Main-Class" value="com.executive.ThreadPool"/>
                    </manifest>
                </jar>
        <echo message="  ...JAR Created for " /> 

但有没有办法可以实际指定控制罐子的目录,这样我就不必直接将所有的罐子复制到当前的罐​​子里了? 就像我的目录结构是: log4j的/ *。JAR SVN / *。JAR 然后我不会将我的所有jar复制到out目录,并且可以在clasppath attruibute中给出相对路径。

1 个答案:

答案 0 :(得分:2)