从Maven Central以外的位置安装Maven依赖项

时间:2019-05-07 18:56:58

标签: java maven

我有这个pom.xml文件:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>interos</groupId>
    <artifactId>jenkins</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>

    <name>Maven Quick Start Archetype</name>
    <url>http://maven.apache.org</url>

    <dependencies>
        <dependency>
            <groupId>org.jenkins-ci.main</groupId>
            <artifactId>cli</artifactId>
            <version>2.49</version>
            <scope>provided</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.jenkins-ci.main/cli -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.8.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

</project>

我跑步

mvn install

我得到:

  

[错误]无法在项目詹金斯上执行目标:无法解决   项目interos:jenkins:jar:1.0的依赖项:找不到   org.jenkins-ci.main:cli:jar:2.49 in   https://repo.maven.apache.org/maven2已缓存在本地   存储库,直到更新后才会重新尝试解析   中心间隔已过去或强制进行了更新-> [帮助1]

     

http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

我尝试这样做:

<repositories>
    <repository>
        <id>repository.maven</id>
        <name>Spring Framework Maven Release Repository</name>
        <url>https://mvnrepository.com</url>
    </repository>
</repositories>

但是我得到了:

  

[错误]无法在项目詹金斯上执行目标:无法解决   项目interos:jenkins:jar:1.0的依赖项:找不到   repository.maven中的工件org.jenkins-ci.main:cli:jar:2.49   (https://mvnrepository.com)-> [帮助1]

2 个答案:

答案 0 :(得分:1)

有2种可能的解决方案(也许更多):

  1. 还将Maven Central添加到pom文件的存储库部分。
  2. 将存储库和镜像添加到Maven settings.xml文件。

选项1和2也可以组合使用。

另一个但也许最好的解决方案是使用您自己的Nexus存储库管理器实例,并从该Nexus实例加载所有依赖项(应将Nexus定义为存储库)。该Nexus实例应与/代理同步到外部存储库,例如Maven Central,Spring等。

答案 1 :(得分:1)

您需要添加jenkins存储库

<repositories>
  <repository>
    <id>repo.jenkins-ci.org</id>
    <url>https://repo.jenkins-ci.org/public/</url>
  </repository>
</repositories>