git - Jenkins 找不到 JUnit (Netbeans+ Git + Ant + JUnit + Jenkins)

标签 git netbeans ant junit jenkins

如何让 Jenkins 在使用 Ant 构建时找到 JUnit?

阅读答案 herehere我相信我有一个类路径问题,但我无法解决它。在我的 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 项目的文件结构是这样的:

enter image description here

我已尝试按照此处讨论的那样通过 Ant 编辑类路径,但我无法使其正常工作。

这是我第一次使用 Ant、JUnit 和 Jenkins,但我认为我真的很接近让它们与 Netbeans 和 Git 一起正常工作。我很乐意提供更多信息。现在已经与此抗争了 3 天,因此非常感谢任何帮助。

最佳答案

我知道回复有点晚了,但现在我们有了解决这个问题的方法......

我有同样的问题我有一个由 ant 构建的项目,我解决了包括到 junit.jar 和 hamcrest-core.jar 的 build.xml 路径

  1. 从 junit 存储库下载 junit.jar 和 hamcrest-core.jar 混帐:https://github.com/junit-team/junit/wiki/Download-and-Install

  2. 将文件粘贴到您的 jenkins/hudson 服务器中的某个位置

  3. 编辑 您的 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>
    
  4. 将文件提交到您的 svn、git 或任何服务器。

  5. 尝试构建。现在 junit 在你的类路径中,jenkins 可以完成构建

关于git - Jenkins 找不到 JUnit (Netbeans+ Git + Ant + JUnit + Jenkins),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8608042/

相关文章:

Git - 删除或编辑别名

java - 如何将计时器放入 GUI 中?

java - jar 执行文件中缺少一些文本

scala - 为scala配置ant

GIT:[拒绝](会破坏现有标签)错误

git - "git checkout <filename>"和 "git checkout -​- <filename>"之间的区别

git:将存储移动到另一个目录中的存储库

android - NetBeans 文件管理器

java - 从 Java 调用时如何在 Ant 脚本中查找资源泄漏

ant - 如何避免在未更改的源文件上运行 ant 任务?