如何让 Jenkins 在使用 Ant 构建时找到 JUnit?
阅读答案 here和 here我相信我有一个类路径问题,但我无法解决它。在我的 Netbeans 项目中,我有一个在 Netbeans 中运行良好的 JUnit 测试。我将项目推送到我的 Git 存储库,Jenkins 看到了更改并构建了项目,但是我收到了一堆错误(如下所示),因为找不到 JUnit。
-do-compile-test:
[javac] Compiling 1 source file to C:\Jenkins\jobs\demo\workspace\demo\build\test\classes
[javac] C:\Jenkins\jobs\demo\workspace\demo\test\MainTest.java:6: package org.junit does not exist
[javac] import org.junit.After;
[javac] ^
[javac] C:\Jenkins\jobs\demo\workspace\demo\test\MainTest.java:7: package org.junit does not exist
[javac] import org.junit.AfterClass;
[javac]
^
JUnit 在我的 %ANT_HOME%\lib
目录中(Windows 7 64 位)。我的 Netbeans 项目的文件结构是这样的:
我已尝试按照此处讨论的那样通过 Ant 编辑类路径,但我无法使其正常工作。
这是我第一次使用 Ant、JUnit 和 Jenkins,但我认为我真的很接近让它们与 Netbeans 和 Git 一起正常工作。我很乐意提供更多信息。现在已经与此抗争了 3 天,因此非常感谢任何帮助。
最佳答案
我知道回复有点晚了,但现在我们有了解决这个问题的方法......
我有同样的问题我有一个由 ant 构建的项目,我解决了包括到 junit.jar 和 hamcrest-core.jar 的 build.xml 路径
从 junit 存储库下载 junit.jar 和 hamcrest-core.jar 混帐:https://github.com/junit-team/junit/wiki/Download-and-Install
将文件粘贴到您的 jenkins/hudson 服务器中的某个位置
编辑 您的 build.xml 文件添加以下行:
<property name="JUNIT_HOME" value="path_to_folder_contain_junit_&_hamcrest_jars"/> <path id="JUnit 4.libraryclasspath"> <pathelement location="${JUNIT_HOME}/junit.jar"/> <pathelement location="${JUNIT_HOME}/hamcrest-core.jar"/> </path> <path id="projectname.classpath"> <pathelement location="your_bin_folder"/> <path refid="JUnit 4.libraryclasspath"/> </path> <!--in your javac task include the classpath --> <javac debug="true" debuglevel="${debuglevel}" destdir="your_bin_folder" source="${source}" target="${target}"> <src path="src"/> <classpath refid="projectname.classpath"/> </javac>
将文件提交到您的 svn、git 或任何服务器。
尝试构建。现在 junit 在你的类路径中,jenkins 可以完成构建
关于git - Jenkins 找不到 JUnit (Netbeans+ Git + Ant + JUnit + Jenkins),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8608042/