4

我正在使用 Hudson 和 Maven 2 进行自动化构建/CI。我可以从命令行使用 maven 构建良好,但是当我使用 Hudson 运行相同的目标时,构建失败并抱怨缺少工件。我将 Hudson 作为 Windows XP 服务运行。

4

2 回答 2

3

确保您以与从命令行运行 Maven 的用户相同的用户身份运行 Hudson。Maven 为每个用户创建一个单独的存储库。如果您将 Hudson 作为 Windows 服务运行,这将与您登录时使用的用户不同,并将运行“mvn”命令。这意味着存储库中的工件可能不同。

要修复,要么以工作用户身份手动启动 Hudson,要么为运行 Hudson 的用户更新存储库。

于 2008-09-04T16:42:57.390 回答
3

显而易见的问题,但是您是否已将 Hudson 设置为指向与您的命令行构建相同的 Maven 存储库?您可以从 Hudson 管理 gui 中检查这一点 - 查看 Manage Hudson 页面的 Maven 部分。这应该MAVEN_HOME列出一个环境变量。查看下面的 settings.xml 文件:

MAVEN_HOME\conf\settings.xml

localRepository配置项是 Hudson 构建正在使用的 Maven 存储库的位置。

于 2008-09-04T16:49:26.813 回答