【发布时间】:2012-11-18 19:52:41
【问题描述】:
我在我的项目中使用 Maven 3。它已经搁置了一段时间,但我们最近又开始研究它。
当我尝试构建它时,我收到以下错误:
[错误] 未能执行项目 tahrir 的目标:
访问 legacy 类型的存储库 local.repository(文件:../../local.repository/trunk)
无法解析项目 tahrirproject:tahrir:jar:0.0.1-SNAPSHOT:
的依赖项 无法收集 [com.google.code.gson:gson:jar:2.2.2(编译)、org.apache.commons:commons-math3:jar:3.0(编译)、args4j:args4j:jar:2.0 的依赖项。 16(编译)、org.testng:testng:jar:5.14(测试)、bouncycastle:bcprov-jdk16:jar:140(编译)、com.google.guava:guava:jar:13.0(编译)、ch.qos。 logback:logback-classic:jar:0.9.28 (编译), com.miglayout:miglayout:jar:3.7.4 (编译), org.datanucleus:datanucleus-db4o:jar:3.0.0-m3 (编译), joda -time:joda-time:jar:1.6.2 (编译), com.google.inject:guice:jar:3.0 (编译), com.seaglasslookandfeel:seaglasslookandfeel:jar:0.2 (编译), xom:xom:jar: 1.2.5 (编译), commons-codec:commons-codec:jar:1.6 (编译), org.apache.commons:commons-lang3:jar:3.1 (编译)]:
无法读取 db4o:db4o:jar:7.12.126.14142-all-java5 的工件描述符:无法从/向 local.repository 传输工件 db4o:db4o:pom:7.12.126.14142-all-java5(文件:../. ./local.repository/trunk):
没有连接器可用于使用可用工厂 WagonRepositoryConnectorFactory -> [帮助 1]
这是我的 pom.xml 文件:https://github.com/sanity/tahrir/blob/master/pom.xml
我已经看到这可能与尝试从 Maven 3 访问 Maven 1 或 2 存储库有关。如果这是我宁愿只使用 Maven 3 存储库的问题,但目前我的所有依赖项指定应该在默认的 Maven 存储库中,所以我不确定问题是什么。
任何关于如何正确“修复”我们的 pom.xml 文件的具体建议将不胜感激。
【问题讨论】:
-
消息 file:../../local.repository/trunk): 没有连接器可用于访问存储库 local.repository (file:../../local.repositor 看起来有点奇怪。你是如何配置 maven 的?settings.xml 文件?为什么你在 pom 中配置了存储库?试试 mvn clean package。如果失败,请尝试删除完成本地存储库并重试。
-
@khmarbaise,我实际上没有 settings.xml 文件,所以我假设它只使用默认值。我尝试删除我的本地存储库,但它没有解决问题。还有其他想法吗?
-
在深入研究之后我发现了问题。 pom 中的给定存储库不包含给定坐标下的工件。它们必须是 com.db4o 等。此外,给定的版本不适合存储库。