来自内部maven存储库的maven import pom(BOM)自己的项目

时间:2016-05-12 13:40:49

标签: maven import pom.xml archiva

我们正在尝试将maven依赖项分组到一个单独的maven POM类型的项目中。

我们希望将此作为依赖项节点内的POM类型依赖项以及de dependencyManagement中的BOM(物料清单)。

我们公司内部有一个2个存储库。 (Apache Archiva - 2.2.0)。 其中一个用于快照,其中一个用于发布。

当我尝试使用快照版本时,一切正常,但是当我想使用发布的版本时,我不断收到错误,因为它一直在寻找中央maven存储库(我们的pom不在其中)的依赖关系)

对我来说,似乎只在快照存储库中搜索POM依赖项。

<properties>
    ...
    <dependency.bla-slf4j-logback-BOM.version>1.0.1</dependency.bla-slf4j-logback-BOM.version>
    ...
</properties>
<dependencies>
    ...
    <dependency>
        <groupId>my.groupid</groupId>
        <artifactId>bla-slf4j-logback-BOM</artifactId>
        <version>${dependency.bla-slf4j-logback-BOM.version}</version>
        <type>pom</type>
    </dependency>
    ...
</dependencies>
<dependencyManagement>
    <dependencies>
        ...
        <dependency>
            <groupId>my.groupid</groupId>
            <artifactId>bla-slf4j-logback-BOM</artifactId>
            <version>${dependency.bla-slf4j-logback-BOM.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        ...
    </dependencies>
</dependencyManagement>

errormessage的:

[ERROR]     Non-resolvable import POM: Failure to find my.groupid:bla-slf4j-logback-BOM:pom:1.0.1 in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced @ line 234, column 22 -> [Help 2]

使用命令:

mvn dependency:tree
  • maven版本:Apache Maven 3.2.2
  • archiva版本:Apache Archiva - 2.2.0

我检查了我们的档案,工件存在于预期的位置。 我还检查了本地maven目录,正确下载了pom依赖项。

任何想法为什么这不适用于我们的POM项目的发布版本(1.0.1),但适用于我们的POM项目的Snapshot版本(1.0.1-SNAPSHOT)。

1 个答案:

答案 0 :(得分:1)

解决方案是将以下xml块添加到maven settings.xml 文件中。

<mirrors>
    <mirror>
        <id>ourcentral</id> 
        <name>our central</name>
        <url>http://mavenrepourl.goes.here</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
</mirrors>

这使它检查我们的内部maven存储库作为中央maven存储库。 (我们的maven存储库将默认的中央存储库作为远程存储库)

特别感谢:Hisham kh