【问题标题】:Jenkins/Hudson - Cannot build multimodule projectJenkins/Hudson - 无法构建多模块项目
【发布时间】:2012-04-15 13:14:14
【问题描述】:

我正在尝试设置我的 Jenkins 来构建我的项目。根模块的构建没有问题。但是现在当另一个模块需要根模块时,Jenkins 会抛出这个异常

Parsing POMs
ERROR: Failed to parse POMs
org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM: Failure to find cz.cvut.fit.wst:wst-root-pom:pom:1.0 in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 3, column 10

    at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:363)
    at hudson.maven.MavenEmbedder.buildProjects(MavenEmbedder.java:361)
    at hudson.maven.MavenEmbedder.readProjects(MavenEmbedder.java:331)
    at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1224)
    at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1049)
    at hudson.FilePath.act(FilePath.java:832)
    at hudson.FilePath.act(FilePath.java:814)
    at hudson.maven.MavenModuleSetBuild$RunnerImpl.parsePoms(MavenModuleSetBuild.java:914)
    at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:658)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:473)
    at hudson.model.Run.run(Run.java:1410)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:481)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:238)
Finished: FAILURE

它似乎没有在我的本地存储库中查找工件。我该如何解决这个问题?

【问题讨论】:

  • 您是否根据错误消息“forced and 'parent.relativePath' points at wrong local POM @ line 3, column 10”检查了您的 pom
  • 移除 $M2_HOME/repository/cz/cvut/fit/wst 目录(M2_HOME 依赖于你的构建配置,默认为 ~/jenkins/.m2)

标签: java maven build hudson jenkins


【解决方案1】:

parent.relativePath 不是强制性的,在某些情况下可能会有点混乱(在 jenkins/hudson 中,但在 IDE 中也是如此)。

因此,除非您有充分的理由依赖 relativePath,否则我认为安装父 POM 并像任何其他依赖项一样访问它更简单(我使用 NEXUS 作为公司 repo,而 jenkins 本地 maven 获得了最新版本如有必要,从它的父 POM 中获取)

【讨论】:

  • 仅供参考,我相信 Maven3,relativePath 默认为“..”,您必须明确将其设置为 才能将其关闭。
猜你喜欢
  • 2016-10-30
  • 2012-02-15
  • 2018-10-25
  • 2015-02-02
  • 2016-02-02
  • 2019-12-16
  • 2018-05-15
  • 2012-09-18
  • 2020-10-02
相关资源
最近更新 更多