Hudson 无法构建我的 Maven 2 项目,因为它说存储库中缺少工件? (他们不是)
Posted
技术标签:
【中文标题】Hudson 无法构建我的 Maven 2 项目,因为它说存储库中缺少工件? (他们不是)【英文标题】:Hudson can't build my Maven 2 project because it says artifacts are missing from the repository? (they aren't) 【发布时间】:2010-09-07 19:59:02 【问题描述】:我正在使用 Hudson 和 Maven 2 进行自动化构建/CI。我可以从命令行使用 maven 构建良好,但是当我使用 Hudson 运行相同的目标时,构建失败并抱怨缺少工件。我将 Hudson 作为 Windows XP 服务运行。
【问题讨论】:
同样的问题,我在 Tomcat 中运行 Hudson 【参考方案1】:很明显的问题,但是您是否已将 Hudson 设置为指向与您的命令行构建相同的 Maven 存储库?您可以从 Hudson 管理 gui 中检查这一点 - 查看 Manage Hudson 页面的 Maven 部分。这应该列出一个MAVEN_HOME
环境变量。查看下的settings.xml文件:
MAVEN_HOME\conf\settings.xml
localRepository
配置项是 Hudson 构建使用的 Maven 存储库的位置。
【讨论】:
即使我们在 MAVEN_HOME\conf\settings.xml 中设置了 Maven 存储库,Hudson 仍然会转到默认目录 C:\Documents and Settings\user。【参考方案2】:确保您以与从命令行运行 Maven 的用户相同的用户身份运行 Hudson。 Maven 为每个用户创建一个单独的存储库。如果您将 Hudson 作为 Windows 服务运行,这将与您登录时使用的用户不同,并将运行“mvn”命令。这意味着存储库中的工件可能不同。
要解决此问题,请以正常工作的用户身份手动启动 Hudson,或者为运行 Hudson 的用户更新存储库。
【讨论】:
以上是关于Hudson 无法构建我的 Maven 2 项目,因为它说存储库中缺少工件? (他们不是)的主要内容,如果未能解决你的问题,请参考以下文章
使用 Maven、SVN 和 Hudson(jenkins) 发布