代码之家  ›  专栏  ›  技术社区  ›  blank

我怎样才能让哈德逊能进入朱尼特?

  •  2
  • blank  · 技术社区  · 16 年前

    我让Hudson在Tomcat上运行,它可以使用ant build.xml构建我的netbeans项目,但是它不会运行任何单元测试,因为我认为类路径有问题:

    package org.junit does not exist
        [javac] import org.junit.After;
        [javac]                 ^
    

    但是我在/etc/environment中的类路径上有junit-4.8.1.jar,我可以成功地从控制台运行junit测试,使用

    java org.junit.runner.JUnitCore org.junit.tests.AllTests
    

    我的 CLASSPATH 设置为 /home/bedwyr/junit4.8.1/junit-4.8.1.jar:.

    我是哪里出问题了,还是还有什么需要我做的?

    [编辑]

    我所做的是导出/包含(使用IDE)所有库(包括JUnit)Hudson,然后从SubversionRepo读取它所需的所有内容。

    然后我遇到了一个将哈德逊暴露在互联网上的问题,很快就放弃了Ubuntu服务器上的Tomcat(同样,与Tomcat安全管理器有关),Glassfish更平滑,这就是我现在所在的位置——Apache前端和AJP_代理服务器连接到Glassfish上的Hudson。

    3 回复  |  直到 16 年前
        1
  •  2
  •   Rob Spieldenner    16 年前

    无论是使用Ant还是Maven来执行构建,都需要正确地设置类路径。

    在Ant中使用ivy或将构建切换到Maven将允许构建自动查找依赖项并正确设置类路径。如果这两者都不是一个选项,那么您需要在Ant中执行与以下类似的操作。

    <property file="build.properties" />
    <property name="junit-home" location="/etc/environment" />
    
    <path id="test.compile.classpath">
      <path refid="compile.classpath" />
      <pathelement location="${junit-home}/junit-4.8.1.jar" />
      <pathelement location="${target}" />
    </path>
    

    build.properties部分允许您覆盖默认的JUnit主页,如果它对于个人和哈德逊来说是不同的。

    另一种修改属性的方法是,当从Hudson调用Ant时,有一个高级部分允许您传递一个属性文件或一个属性窗体,该窗体允许您以以下格式输入键值对:

    junit-home=/etc/environment
    
        2
  •  0
  •   Karussell    16 年前

    junit jar在类路径上,但它没有打包到netbeans项目文件夹中的某个位置。

    解决方案:从NetBeans项目(测试库)中删除自动添加的junit lib,然后通过右键单击“测试库”->“添加jar/文件夹”明确添加junit jar。

        3
  •  0
  •   Jigar Shah    16 年前

    您可以在Hudson中导出环境变量。它有一个插件。

    http://wiki.hudson-ci.org/display/HUDSON/Setenv+Plugin

    但Rob提出的解决方案更有意义。在这里,你不必担心你在哪里跑步。取决于环境变量不是一个很好的主意。因为它会影响你运行的所有程序。