为啥我会因为缺少dependency.version而得到无效的pom,尽管版本是受管理的?

Posted

技术标签:

【中文标题】为啥我会因为缺少dependency.version而得到无效的pom,尽管版本是受管理的?【英文标题】:Why do I get invalid pom due to missing dependency.version although the version is managed?为什么我会因为缺少dependency.version而得到无效的pom,尽管版本是受管理的? 【发布时间】:2012-07-05 14:02:19 【问题描述】:

我的情况是这样的:

超级

第三方的依赖管理

父pom

超级的孩子

项目A

父pom的孩子 对第三方的依赖

项目B

父母 pom 的孩子 对 projectA 的依赖

projectA 构建得很好,但是当我尝试编译 projectB 时,我得到:

[警告] [projectA] 的 POM 无效,传递依赖项(如果有)将不可用:为 [projectA] 构建有效模型时遇到了 1 个问题

[错误] thrid-party.jar 的“dependencies.dependency.version”缺失。 @

知道为什么吗?

【问题讨论】:

你在 POM 中注明了 thrid-party.jar 版本吗? 在依赖管理中是,在projectA中没有。 那么,做吧,让我们看看。 不,我要管理第三方的版本 请给我们看一下 Super 和 projectA POM 文件。 【参考方案1】:

你需要安装 super 到你的本地 repo,仅仅设置 relativePath 是不够的。

【讨论】:

如果使用父 pom,通常不应该设置相对路径。 我找不到任何支持这种说法的信息。如果你想要一个平面目录结构,我可以找到 relativePath 就可以了。 然而我发现有些插件不支持平面目录结构。但这不是这里的问题。

以上是关于为啥我会因为缺少dependency.version而得到无效的pom,尽管版本是受管理的?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我会因为 jQuery 而出现“启动应用程序失败”错误?

为啥我会收到错误“协议……只能用作通用约束,因为它具有自身或关联的类型要求”?

为啥这个 SPARQL 查询缺少这么多结果?

为啥我的 Wix 安装程序中缺少我的 CustomTable?

为啥我会收到“仅应通过引用传递变量”错误?

Unity 2020.1.8f1 无法构建 xcode 项目,因为缺少 plist 键值对