我尝试了几种方法在与hudson相同的服务器上安装ant和junit。我最终下载了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目录中。在这一点上,我不确定还有什么可以尝试,但哈德森仍然给我错误:
事实上,我确实检查了/ usr / share / ant / lib,并且类“org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.class”位于ant-junit jar文件中我通过运行命令确认:BUILD FAILED /var/lib/hudson/jobs/MyProject/build.xml:31:问题: 无法创建任务或输入junit原因:该类 找不到org.apache.tools.ant.taskdefs.optional.junit.JUnitTask。 这看起来像Ant的可选组件之一。操作:检查是否存在相应的可选JAR - 在/ usr /共享/蚂蚁/ lib目录 - 在/ var / lib中/哈德森/赵军阳张志利/ lib目录 -a目录在命令行中添加了-lib参数
不要惊慌,这是一个常见的问题。最常见的原因是 缺少JAR。
这不是一个错误;这是一个配置问题
jar tfv ant-junit.jar | grep org.apache.tools.ant.taskdefs.optional.junit.JUnitTask
有人可以告诉我该怎么做,我不知道从哪里开始。
答案 0 :(得分:0)
如果你在Ubuntu,你可以简单地得到蚂蚁;我这样做了,并链接到我项目中的junit jar。
干杯,
尼尔
答案 1 :(得分:0)
事实证明,hudson本身在其自己的一个库中安装了某个版本的Ant。我想这不知何故引起了冲突,因为当我摆脱它时,事情就有效了。我认为它在/ var / hudson或/ var / hudson / lib中。在hudson安装期间,该路径将添加到PATH环境变量中。因此,您可以选择将自己的Ant安装添加到路径的BEGINNING,删除Hudson的Ant版本,或者删除PATH的那部分。