我们有一些巡航控制项目,大致如下:
巡航控制
<ant antfile="build.xml" dir="A" target="compile" inheritAll="false" />
在 A 中,编译目标调用 B 中的jar目标作为其编译的一部分 (在“编译”中)
<ant antfile="${B.dir}/build.xml" inheritAll="false" target="jar" />
<javac ... >
所以 B 有一个jar任务。 A 从 B 构建jar,然后在它的编译中使用它。
我遇到的问题是巡航控制似乎混淆了路径。虽然 A 编译任务直接来自ant,但是当从cruisecontrol运行时,它似乎试图根据来自 B jar设置的路径找到它自己的内部库。
要让它在ant中运行,我必须使用inheritAll =“false”标志从 A 调用 B ,但是这个和调用带有fork的javac似乎都没有解决问题。
可能相关 - 我们正在运行ant @ version 1.7,cc服务器是ant版本1.6.5,我无法轻易更新。
任何提示?
答案 0 :(得分:1)
在CruiseControl配置中,您可以指定anthome or antscript attributes以便使用您的Ant版本,这样您就可以从CC获得与命令行相同的行为。