【问题标题】:Maven - Dependency Resolution Failed, Package exists in local repoMaven - 依赖解析失败,包存在于本地仓库中
【发布时间】:2012-05-14 21:08:31
【问题描述】:

我正在使用来自http://code.google.com/p/maven-gae-plugin/maven-gae-plugin 使用继承创建一个多模块项目(父项目参考)

我的结构如下:

|
`-- pom.xml
|-- base-api-project (packaging=jar)
|   `-- pom.xml
|-- main-www-project (packaging=war)
|   `-- pom.xml

pom.xml配置为父+聚合器(参考modules)。

当我使用根 pom.xml 构建时,一切都被编译和打包。

但是,当我在 main-www-project 文件夹中运行 mvn gae:run 时,我收到一个错误,指出在注册的存储库中找不到 base-api-project。我扫描所有已注册的存储库...

但我的问题是……如果它已经存在于~/.m2/repository 中,那我为什么要在网上寻找呢?

我做错了什么?

【问题讨论】:

    标签: java dependencies maven-3 dependency-management maven-gae-plugin


    【解决方案1】:

    当使用快照版本时,maven 将始终寻找最新的快照,而版本将首先在本地解析。
    但是,本地 repo 中的每个工件也需要相应的 POM,并且该 POM 可能会声明不在本地 repo 中的依赖项,或者是快照版本(递归等)。

    【讨论】:

    • 我知道 SNAPSHOT 版本...所以,我没有使用它。但没有运气! :( 你认为“父”可能是一个问题吗?这两个项目都有一个共同的父...顺便说一句,如果我独立构建它们,即没有父层次结构,这些东西就很棒。
    • 本地 pom 确实存在于本地。
    • 公共父结构不应该是一个“问题”,它是一个很好的模式。尝试从 root 执行 mvn 安装,然后 gae:run
    • 那行得通。但为什么会这样呢? “mvn install”将在本地 repo 中安装所有三个。
    • 当您说“本地 pom 存在于本地”时,您的意思是在项目结构中还是在本地 repo 中。因为maven不解析项目结构中的pom,只在repo中解析,如果在本地找不到,先本地再远程。
    猜你喜欢
    • 2023-04-11
    • 2021-10-05
    • 2020-01-25
    • 2014-03-01
    • 1970-01-01
    • 2017-06-12
    • 1970-01-01
    • 2020-01-14
    • 2023-03-30
    相关资源
    最近更新 更多