Hudson没有使用Maven生成的类路径?

时间:2011-01-07 23:53:41

标签: java hudson maven classpath

我正在尝试在运行时搜索项目中的类路径。我们使用Maven进行构建管理,使用Hudson进行CI。当然,在我当地的包装盒上,一切都很棒。但是,当Hudson运行单元测试时,它无法找到构建期间生成的类 - Maven应该将它们放在./target/classes中,但是当我从Hudson中记录类路径(System.getProperty("java.class.path"))时它只给我一个包含两个与maven相关的JAR的列表 - 根本没有目录,当然也不是当前项目的编译器输出目录。这是哈德森的错吗? Maven的?我是以错误的方式解决这个问题吗?

ETA:我认为这可能是通过升级Hudson使用的Maven运行时来解决的。问题是我们通过反射寻找插件类,类似于this post中的想法 - 而不是实际的代码,但它给你的想法。无论如何,听起来Hudson正在使用只有“引导”实际测试工具的类路径;无论出于何种原因,它现在似乎已得到修复。长话短说:如果您遇到类似问题,请尝试升级您的Maven。

1 个答案:

答案 0 :(得分:0)

两个修复。一,升级Maven。二,不要依赖classpath hackery来迭代你的类加载器可以看到的东西,这是描述中链接的“资源发现”技巧。