0

我有一个父 POM,我在我的其他项目中使用它来进行依赖管理。当我当时构建我的子项目时,它将签入我的存储库以获取父 pom。但同时也要检查 maven Central。但显然从那里找不到它,除此之外,我的构建过程将停止。

谁能告诉我它发生的原因?任何帮助表示赞赏。

为了更好地理解,我附上了一个日志。

[INFO] Downloading from bom-ci-maven: http://xxx:8800/api/v4/projects/xxx/packages/maven/com/xxx/project-bom/0.0.2-DEV/project-bom-0.0.2-DEV.pom
[INFO] Downloading from central: https://repo.maven.apache.org/maven2/com/xxx/project-bom/0.0.2-DEV/project-bom-0.0.2-DEV.pom
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM for com.xxx:xxx:0.0.2-SNAPSHOT: Could not find artifact com.xxx:project-bom:pom:0.0.2-DEV in bom-ci-maven (http://xxx:8880/api/v4/projects/xxx/packages/maven) and 'parent.relativePath' points at wrong local POM @ line 4, column 11
 @ 
4

1 回答 1

0

有两种方法可以将模块与其余模块分开构建,包括父模块。

  1. 最好的方法是从项目的根目录运行它(注意-am):
mvn package -pl child -am
  1. 另一种选择更麻烦,但如果您的模块依赖于多个相邻模块,则可能会更快。首先将所有依赖项安装到本地存储库中。在快照依赖的情况下,它将缓存一段时间,然后再次开始检查远程 Maven 存储库。这允许您进入子模块并调用依赖于父模块或其他模块的命令。

此外,如果<parent>您可以指定一个 tag <relativePath>,但不推荐使用这个。

于 2021-08-12T05:40:45.693 回答