我想在运行时在我的项目中搜索类路径。我们使用Maven进行构建管理,使用Hudson进行CI构建。当然,在我的本地盒子里,一切都很好。但是,当Hudson运行单元测试时,它找不到在构建过程中生成的类 - Maven应该将它们放在./target/classes
中,但是当我从Hudson登录类路径(System.getProperty("java.class.path")
)时,它只给出一个包含两个maven-相关的JAR--根本没有目录,当然不是当前项目的编译器输出目录。这是哈德森的错吗? Maven的?我是否以这种错误的方式去做?哈德森不使用Maven生成的类路径?
ETA:I 认为这可能是通过升级Hudson使用的Maven运行时修复的。问题是我们通过反射寻找插件类,类似于this post中的想法 - 不是实际的代码,但它给了你这个想法。无论如何,这听起来像Hudson使用的类路径只能“引导”实际的测试工具;无论出于何种原因,它现在似乎已经修复。长话短说:如果你有类似的问题,请尝试升级你的Maven。
究竟是什么问题?测试是否因类路径错误而失败? – Raghuram 2011-01-08 03:34:39