0

我尝试了几种方法将 ant 和 junit 安装在与 hudson 相同的服务器上。我最终下载了 Ant 源代码,使用包含的 fetch.xml 文件安装了可选依赖项,构建了源代码,并将 junit-4.8.1.jar 放入 lib 目录中,其中编译的 Ant 代码 [我刚刚构建的] 是. 然后我使用“export ANT_HOME=/usr/share/ant”命令将ANT_HOME 设置为ant 根目录。我还设置了一个具有相同值 (/usr/share/ant) 的 Hudson 配置变量“ANT_HOME”,并且还使用 export ANT_HOME 命令将一个新文件放入了 /etc/profile.d 目录。在这一点上,我不确定还能尝试什么,但 Hudson 仍然给我错误:

构建失败/var/lib/hudson/jobs/MyProject/build.xml:31:问题:无法创建任务或键入junit原因:找不到类org.apache.tools.ant.taskdefs.optional.junit.JUnitTask . 这看起来像是 Ant 的可选组件之一。行动:检查适当的可选 JAR 存在于 -/usr/share/ant/lib -/var/lib/hudson/.ant/lib -a 使用 -lib 参数添加到命令行的目录中

不要惊慌,这是一个普遍的问题。最常见的原因是缺少 JAR。

这不是错误;这是一个配置问题

事实上,我确实检查了 /usr/share/ant/lib 并且“org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.class”类位于我确认的ant-junit jar文件中运行命令:jar tfv ant-junit.jar | grep org.apache.tools.ant.taskdefs.optional.junit.JUnitTask

有人可以告诉我要尝试什么,我不知道从哪里开始。

4

2 回答 2

0

事实证明,hudson 自己在自己的库之一中安装了某个版本的 Ant。我想这以某种方式引起了冲突,因为当我摆脱它时,事情就奏效了。我认为它在 /var/hudson 或 /var/hudson/lib 中。该路径在 hudson 安装期间被添加到 PATH 环境变量中。因此,您的选择是将您自己的 Ant 安装添加到路径的开头,删除 hudson 的 Ant 版本,或者删除 PATH 的那部分。

于 2012-08-14T15:49:49.260 回答
0

如果你在 Ubuntu 上,你可以简单地 apt-get ant;我这样做并链接到我项目中的junit jar。

干杯,

尼尔

于 2012-08-01T10:20:43.980 回答