0

我有一个 Ant 构建的脚本,可以很好地从 Eclipse 构建一个 WAR 文件,并从命令行使用 ant。

当我尝试从 Hudson 构建 WAR 时,WAR 已组装,但某些文件不在正确的位置。

这可能是什么原因造成的?

根据我的要求,我正在使用 ANT 1.8.2 和 Hudson 3.0.0。

4

1 回答 1

0

对我来说,似乎有两个问题:

1) “basedir”需要从 Hudson 传递到我的 ANT 构建脚本。为此,我必须确保我的项目中的所有项目文件夹和文件引用都以“basedir”变量为前缀,然后我将 Hudson 配置为在其 ANT 启动配置中设置此变量:

在 Hudson 中添加以下内容:作业配置 | 构建 | 调用 ANT | 特性:

basedir=${WORKSPACE}

2)如果已经存在,我需要更改我的一些 ANT“复制”任务以显式覆盖文件:

这似乎有效:

<copy todir="${target.war.dir}/WEB-INF/classes"> 
...
</copy>

变成:

<copy todir="${target.war.dir}/WEB-INF/classes" failonerror="true" overwrite="true" force="true"> 
...
</copy>
于 2013-02-04T16:03:25.407 回答