为啥我会因为缺少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 而出现“启动应用程序失败”错误?
为啥我会收到错误“协议……只能用作通用约束,因为它具有自身或关联的类型要求”?