从私有仓库添加依赖项管理pom

时间:2020-08-09 03:29:44

标签: java repository maven-3

我从事的项目需要大量的库或模块。所有依赖项都存储在我的私有Maven存储库中(使用AWS S3)。我设置了一切,项目运行良好。

    <distributionManagement>
        <snapshotRepository>
            <id>maven-repo.notelis.com</id>
            <url>s3://maven-repo.notelis.com/snapshot</url>
        </snapshotRepository>
        <repository>
            <id>maven-repo.notelis.com</id>
            <url>s3://maven-repo.notelis.com/release</url>
        </repository>
    </distributionManagement>

这是分发管理。我在构建部分使用了正确的运输工具:

<extensions>
            <extension>

                <groupId>com.github.noyessie.plugin</groupId>
                <artifactId>aws-maven</artifactId>
                <version>7.0.0</version>
            </extension>
        </extensions>

为了集中化依赖版本管理,我决定使用maven BOM。为此,我遵循了Maven文档,并且一切都在本地运行良好(在本地使用mvn install)。使其可用于其他项目。

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.neyos.saas</groupId>
                <artifactId>notelis-dependencies</artifactId>
                <version>${notelis.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

当我尝试在CI中构建项目时,问题就开始了。我收到错误消息:

[ERROR]     Non-resolvable import POM: Could not find artifact com.neyos.saas:notelis-dependencies:pom:0.0.1-SNAPSHOT @ line 120, column 16 -> [Help 2]

似乎maven只检查中央存储库中dependencyManagement节的依赖项,而不是我的私有存储库中。因此,这是一种要求Maven提取我的私有存储库中dependencyManagement部分中存在的依赖项的方法。不在中央存储库上吗?

PS:我不想使用中央存储库。

1 个答案:

答案 0 :(得分:0)

要使maven在某个存储库中搜索依赖项,您必须将该存储库注册到pom文件的“存储库”部分。