我尝试了几种方法将 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
有人可以告诉我要尝试什么,我不知道从哪里开始。