如何从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>
中包含的所有广告?
答案 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并且能够为您管理类路径。