在Ant中排除jar flom类路径

时间:2015-10-26 03:35:55

标签: java ant build path classpath

如何从Ant中的另一个classpath变量中排除一个classpath变量中包含的jar?我有一个$ warner git status fatal: Not a git repository (or any of the parent directories): .git Error when executing 'git status' $ warner true 属性,包含我要包含的所有jar,myclasspath1包含其他jar列表。我想得到包含classpath1中不在classpath2中的所有jar的classpath3。以下是我为一个罐子提出的建议:

myclasspath2

如何排除<path id="my.classpath1"> <pathelement path="${myClasspath1}"/> </path> <!-- at the end I want to get all jars concatenated into a string --> <pathconvert pathsep="," property="my.classpath3" refid="my.classpath1"> <mapper type="flatten"/> <map from="excluded.jar" to="" /> </pathconvert> 中包含的所有广告?

1 个答案:

答案 0 :(得分:1)

我建议你的类路径管理应该是明确的,例如:

<path id="my.classpath1">
  <fileset dir="${lib.dir}">
    <includes name="*.jar"/>
    <excludes name="foo.jar"/>
  </fileset>
</path>

<path id="my.classpath2">
  <fileset dir="${lib.dir}">
    <includes name="*.jar"/>
    <excludes name="bar.jar"/>
  </fileset>
</path>

<path id="my.classpath3">
  <fileset dir="${lib.dir}">
    <includes name="foo.jar"/>
    <includes name="bar.jar"/>
  </fileset>
</path>

类路径管理很痛苦......最好的解决方案是使用像apache ivy这样的依赖管理器。还有一些可用于Maven的ANT任务。两者都会自动从Maven Central下载jar并且能够为您管理类路径。