java - Maven父POM问题
问题描述
我有一个父 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
@
解决方案
有两种方法可以将模块与其余模块分开构建,包括父模块。
- 最好的方法是从项目的根目录运行它(注意
-am
):
mvn package -pl child -am
- 另一种选择更麻烦,但如果您的模块依赖于多个相邻模块,则可能会更快。首先将所有依赖项安装到本地存储库中。在快照依赖的情况下,它将缓存一段时间,然后再次开始检查远程 Maven 存储库。这允许您进入子模块并调用依赖于父模块或其他模块的命令。
此外,如果<parent>
您可以指定一个 tag <relativePath>
,但不推荐使用这个。
推荐阅读
- jestjs - 升级后未定义 jest global
- json - Kotlinx序列化解析枚举忽略未知值
- javascript - 用另一个替换一个 amchart
- jenkins - jenkins ansible-plugin 找不到 ansible 角色
- git - 创建了一个新的 shell 脚本,但是当我运行它时被拒绝。给自己许可没问题,但别人呢?
- java - Java http 代理服务器 - Http/1.1 400 错误请求
- css - 离子页脚位于键盘顶部
- mountebank - mountebank 可以用于使用存根和谓词模拟 GET 八位字节流图像文件吗?
- javascript - 服务器端脚本问题
- javascript - 动画在 LottieJS 结束时消失