【发布时间】:2017-12-31 12:32:45
【问题描述】:
我构建了一组相互依赖的项目(在本地和与 Jenkins 一起)。以前我添加了一个从 APE 到 EMM 的链接。一切正常。我的 pom.xml 中没有说明依赖项。这是存储库:
<repositories>
<repository>
<id>ModelMigration</id>
<layout>p2</layout>
<url>${repobase}/ModelMigration-Maven/${repopath}org.muml.emm.repository/target/repository</url>
</repository>
</repositories>
如果我删除该存储库,构建将失败。
Missing requirement: org.muml.ape.migrator 1.0.0.qualifier requires 'bundle org.muml.emm 0.0.0' but it could not be found
如果我添加显式依赖项并为存储库启用快照,则构建失败。
<dependencies>
<dependency>
<groupId>org.muml.emm.group</groupId>
<artifactId>org.muml.emm</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>ModelMigration</id>
<layout>p2</layout>
<url>${repobase}/ModelMigration-Maven/${repopath}org.muml.emm.repository/target/repository</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
这是错误信息:
[ERROR] Failed to execute goal on project org.muml.ape: Could not resolve dependencies for project org.muml.ape.group:org.muml.ape:eclipse-plugin:1.0.0-SNAPSHOT: Could not find artifact org.muml.emm.group:org.muml.emm:jar:1.0.0-SNAPSHOT -> [Help 1]
这是缺少插件的 ID 和版本:
<groupId>org.muml.emm.group</groupId>
<artifactId>org.muml.emm</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
版本和 ID 似乎是正确的,jar 位于存储库中,它可以在没有显式依赖的情况下工作。我的快照依赖有什么问题?
【问题讨论】:
-
您确定工件 ID 正确吗?
-
我在 pom.xml 的 repo 路径中没有任何参数。我要么去我的内部仓库,要么去 Maven 中心。我想知道你为什么这样做。这对我来说看起来不对。
-
@DanielFigueroa 是的,你可以看到它在下面发布了缺少插件的 ID。
-
@duffymo 具体路径使用 Maven 配置文件设置。它们可用于在本地或在 Jenkins 上构建并相应地调整路径。有问题的插件是我们自己的,不在 maven 存储库中。
-
我们也使用 Jenkins。不需要那些可变路径。我的本地机器和 Jenkins 都指向同一个存储库:首先是本地 .m2,然后是内部 Nexus,最后是 Maven Central。我的评论仍然有效。
标签: maven