2017-07-25 82 views
0

我构建一组相互依赖的项目(本地和Jenkins)。之前我已经添加了一个从APE到EMM的链接。一切正常。我的朋友没有说明我的依赖。这是存储库:如果我明确声明依赖关系但没有它,则Maven会失败

<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] 

这是IDS和版本失踪插件:

<groupId>org.muml.emm.group</groupId> 
    <artifactId>org.muml.emm</artifactId> 
    <version>1.0.0-SNAPSHOT</version> 
    <packaging>eclipse-plugin</packaging> 

版本和ID似乎是正确的,罐子是在仓库中它没有显式的依赖性。我的快照依赖关系有什么问题?

+0

你确定工件ID是正确的? –

+0

我在pom.xml的回购路径中没有任何参数。我要么去我的内部回购或Maven中心。我想知道你为什么这么做。这对我来说并不合适。 – duffymo

+0

@DanielFigueroa是的,你可以看到它发布了下面缺少的插件的ID。 –

回答

0

Jar提到你需要额外的依赖。或者在下载时遇到瓶子问题。

0

当没有明确提到任何内容时,编译通过的原因是所需的插件在本地和服务器上缓存在本地maven存储库中。依赖不是maven依赖,它是tycho依赖。因此,tycho可以解决它,但是当maven尝试时,它失败了。它们的依赖机制是分离的,这可能会导致一些麻烦。

延伸阅读: