【问题标题】:Jenkins: Non-resolvable parent POM:詹金斯:不可解析的父POM:
【发布时间】:2012-02-09 16:47:15
【问题描述】:

我有一个简单的多项目层次结构:

root/
  pom.xml
  project-a
    pom.xml
    subproject-a.1
        pom.xml
    subproject-a.2
        pom.xml
  project-b
    pom.xml
    subproject-b.1
        pom.xml
    subproject-b.2
        pom.xml

如果我从命令行构建一个项目(例如 subproject-b.1),该项目将构建 find。但是,从 Jenkins 那里,同一个项目将失败并显示:

[FATAL] Non-resolvable parent POM: Could not find artifact com.foo.bob:project-b:pom:1 in releases (http://xxxx.foo.com:9080/libs-release) and 'parent.relativePath' points at wrong local POM @ line 7, column 13

既不是根也不是 project-a/project-b 模块,只是子项目。我确实看过:Hudson build fail: Non-resolvable parent POM 并确保我父母的 relativePath 设置为:

<relativePath>../pom.xml</relativePath> 

关于我需要添加到我的 pom.xml 以使 Maven 与 Jenkins 良好配合的想法?

【问题讨论】:

  • 您是否在父 pom.xml 中将 设置为您的子项目
  • 在哪个阶段失败了?是否有可能不是 subproject-b1 的构建,而是它的父级的构建失败?我想知道在尝试从 subproject-b1 位置解析父 relativePath 时,根项目实际上是否是 ../../pom.xml (在 project-b/pom.xml 内)
  • 您使用的是什么版本控制系统?以 subversion 为例,可以只检出子项目。如果是这样的话,相对路径对 Jenkins 来说没有意义。
  • 关于问题一,是的。根 pom.xml 看起来像这样:'project-aproject-b' 在父 pom.xm 之一中,它是:'subproject-a.1subproject-a.2'。它在子项目中失败,上层项目不可构建,我有父 pom.xml 文件来保存公共材料。关于您的第二个问题,它在子/子项目文件中失败。在子/子项目文件中,相对路径设置为下一个直接 pom.xml。
  • 是的,它是颠覆。所以要使用 Jenkins、Subversion 和父 pom.xml 文件,我必须为每个构建从根目录中提取整个源代码树?

标签: jenkins maven-3 pom.xml


【解决方案1】:

在我的盒子上安装 Jenkins 后,我遇到了同样的问题 - Windows 10。我什至有一份单独的工作来构建父 pom 并将其推送到我当地的 maven repo 中(或者我是这么认为的)。原来我的 jenkins 服务设置为使用本地系统帐户,该帐户将工件推送到我系统文件夹中的存储库,而不是 user.m2\repository 中的普通本地 maven 存储库。

修复:

  • 进入控制面板 -> 管理工具 -> 服务
  • 右键单击 Jenkins 服务并选择属性
  • 在登录选项卡上选择“此帐户”并输入用户和 您通常用于登录邮箱的密码
  • 单击确定并重新启动 Jenkins 服务

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-04
    • 2023-04-01
    • 2017-05-04
    相关资源
    最近更新 更多