【问题标题】:How to set URL for Maven dependency如何设置 Maven 依赖的 URL
【发布时间】:2015-04-18 05:14:56
【问题描述】:

在启动mvn clean install vagrant:up后出现以下错误:

Downloading: https://oss.sonatype.org/content/repositories/snapshots/org/apache/avalon/framework/avalon-framework-api/4.2.0/avalon-framework-api-4.2.0.pom
[INFO] Unable to find resource 'org.apache.avalon.framework:avalon-framework-api:pom:4.2.0' in repository snapshot-repository (https://oss.sonatype.org/content/repositories/snapshots)
Downloading: http://central.maven.org/maven2/org/apache/avalon/framework/avalon-framework-api/4.2.0/avalon-framework-api-4.2.0.pom
[INFO] Unable to find resource 'org.apache.avalon.framework:avalon-framework-api:pom:4.2.0' in repository Avalon-repo (http://central.maven.org/maven2)
Downloading: http://repo1.maven.org/maven2/org/apache/avalon/framework/avalon-framework-api/4.2.0/avalon-framework-api-4.2.0.pom
[INFO] Unable to find resource 'org.apache.avalon.framework:avalon-framework-api:pom:4.2.0' in repository central (http://repo1.maven.org/maven2)
Downloading: https://oss.sonatype.org/content/repositories/snapshots/org/apache/avalon/framework/avalon-framework-impl/4.2.0/avalon-framework-impl-4.2.0.pom
[INFO] Unable to find resource 'org.apache.avalon.framework:avalon-framework-impl:pom:4.2.0' in repository snapshot-repository (https://oss.sonatype.org/content/repositories/snapshots)
Downloading: http://central.maven.org/maven2/org/apache/avalon/framework/avalon-framework-impl/4.2.0/avalon-framework-impl-4.2.0.pom
[INFO] Unable to find resource 'org.apache.avalon.framework:avalon-framework-impl:pom:4.2.0' in repository Avalon-repo (http://central.maven.org/maven2)
Downloading: http://repo1.maven.org/maven2/org/apache/avalon/framework/avalon-framework-impl/4.2.0/avalon-framework-impl-4.2.0.pom
[INFO] Unable to find resource 'org.apache.avalon.framework:avalon-framework-impl:pom:4.2.0' in repository central (http://repo1.maven.org/maven2)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.

Unable to get dependency information: Error in metadata for artifact 'rubygems:vagrant:gem': Unable to parse version '[0.5.2,0.5.2.0.0.0.0.1)' for dependency 'rubygems:archive-tar-minitar:gem': Range defies version ordering: [0.5.2,0.5.2.0.0.0.0.1)
  rubygems:vagrant:gem:1.0.7

from the specified remote repositories:
  central (http://repo1.maven.org/maven2),
  rubygems (http://rubygems-proxy.torquebox.org/releases),
  snapshot-repository (https://oss.sonatype.org/content/repositories/snapshots),
  Avalon-repo (http://central.maven.org/maven2)

Path to dependency: 
    1) downloader:downloader:jar:0.0.1-SNAPSHOT
    2) net.ju-n.maven.plugins:vagrant-maven-plugin:maven-plugin:1.0.1

我已经搜索过这个依赖,我在另一个 URL 中找到了它,但我不知道如何设置它。我不想手动下载 jar,因为我们使用的是 Jenkins,而我无权访问该存储库。

有人知道怎么解决吗?

谢谢!!

附:我的pom.xml 是(部分):

<dependency>
  <groupId>net.ju-n.maven.plugins</groupId>
  <artifactId>vagrant-maven-plugin</artifactId>
  <version>1.0.1</version>
  <type>maven-plugin</type>
</dependency>
<dependency>
  <groupId>de.saumya.mojo</groupId>
  <artifactId>gem-maven-plugin</artifactId>
  <version>1.0.7</version>
</dependency>   
<dependency>
  <groupId>avalon-framework</groupId>
  <artifactId>avalon-framework-impl</artifactId>
  <version>4.2.0</version>
  <optional>true</optional>
</dependency>

Update1:​​我的 pom.xml 中有以下存储库:

<repositories>      
    <repository>
        <id>snapshot-repository</id>
        <name>Maven2 Snapshot Repository</name>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        <snapshots>
            <enabled>true</enabled>
            <updatePolicy>daily</updatePolicy>
        </snapshots>
    </repository>

    <repository>
      <id>Avalon-repo</id>
      <url>http://central.maven.org/maven2</url>
    </repository>
  </repositories>

Update2:问题是Maven在http://repo1.maven.org/maven2/org/apache/avalon/framework/avalon-framework-impl/4.2.0/avalon-framework-impl-4.2.0.pom中寻找依赖,但是正确的URL是:https://repo1.maven.org/maven2/avalon-framework/avalon-framework-api/4.2.0/avalon-framework-api-4.2.0.pom

【问题讨论】:

  • 看来 maven 无法下载任何工件。存储库对我来说看起来不错。你有代理吗?

标签: java maven vagrant maven-3


【解决方案1】:

您的.m2 文件夹下有一个settings.xml。您必须在此处添加一个存储库,如下所示:

</repository>
                  <repository>
                      <id>central</id>
                      <name>Maven Repository Switchboard</name>
                      <url>http://repo1.maven.org/maven2</url>
                      <snapshots>
                        <enabled>false</enabled>
                      </snapshots>
                    </repository>

【讨论】:

  • 嗨@Sezin,我已经在我的 pom.xml 中添加了存储库:&lt;repository&gt; &lt;id&gt;Avalon-repo&lt;/id&gt; &lt;url&gt;http://central.maven.org/maven2&lt;/url&gt; &lt;/repository&gt;,但问题仍然存在。
  • 在最坏的情况下您可以手动将其添加到本地存储库
  • 但是如果你不能将它添加到你的本地 repo 中,maven 可能也不能添加它
【解决方案2】:

需要在 pom.xml 中添加这段代码

<repositories>
    <repository>
        <id>appfuse-snapshots</id>
        <url>http://oss.sonatype.org/content/repositories/appfuse-snapshots</url>    // Replace it with your respective repository
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

【讨论】:

    【解决方案3】:

    我在查找依赖项时遇到了这个问题。因为它有点将 org.xxx 替换为 org/xxx 并且没有任何依赖项被拉取。

    默认 Central Maven 存储库的 url 是 http://repo.maven.apache.org/maven2/。 除非您想从不同位置获取工件(例如本地工件等),否则请删除部分,否则您仍然可以拥有

           <repository> 
               <id>central</id>
               <url>http://repo.maven.apache.org/maven2/</url>
           </repository>
    

    mvn 全新安装 它应该下载您正在寻找的所有存储库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-20
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-18
      • 1970-01-01
      相关资源
      最近更新 更多