我们有三个神器:Maven的WAR覆盖问题,同时使用哈德森+ Artifactory的
common.jar : with common classes.
public.war : depending on the common.jar, contains only public site resources.
internal.war : depends on both common.jar and public.war, adding authentication
information and security context resource files. Also contains
few administration site classes.
目前我已经在这样的方式构建这些,那internal.war overlays本身public.war。
在本地构建项目,将工件安装到本地回购,完美地工作。
- 构建所有项目的依赖顺序:试图让哈德森建立工作与依照以下顺序
问题开始。
- 修改common.jar(例如,添加一个新的类方法)
- 修改internal.war类,使得它们在编译时依赖于步骤2中完成的更改。
- 提交这两个更改,触发Hudson构建。因为它无法找到在步骤2中
不知怎的,构建步骤5中添加的符号是使用旧版本的common.jar的,因为它没有
common.jar版本号不会改变,假设它是1.0.0-SNAPSHOT用于本示例。
如果我改变了common.jar的版本号,这个版本就可以工作。 (据推测,因为发布版本号只有一个版本)。
现在,什么可能会导致这种使用哈德逊旧工件的构建?
我们正在运行的Maven建立在哈德森命令“清包-e -X -U”
“部署文物,Maven仓库”已被选中。
只是为了确定,你的意思是詹金斯还是哈德森? – noamt 2012-02-08 13:38:21