我正在尝试打包一个 jar,并且在 list 的属性类路径中我想添加所有可靠 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 " />
但是有没有一种方法可以让我真正指定包含 jar 的目录,这样我就不必直接将所有 jar 复制到当前目录中? 就像我的目录结构是: log4j/*.jar svn/*.jar 然后,我不会将所有 jar 复制到 out 目录,并且可以在 clasppath 属性中给出相对路径。
最佳答案
关于java - build.xml ANT 构建中类路径的相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31006815/