java 如何为 Maven 依赖项设置 URL
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/28562684/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How to set URL for Maven dependency
提问by Pablo D
I have the following error after launch mvn clean install vagrant:up
:
启动后出现以下错误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
I have searched this dependency and I found it in another URL, but I don't know how to set it. I don't want to download the jar manually, because we are using Jenkins and I don't have access to that repository.
我已经搜索了这个依赖项,我在另一个 URL 中找到了它,但我不知道如何设置它。我不想手动下载 jar,因为我们正在使用 Jenkins 而我无权访问该存储库。
Anyone knows how to solve it?
有谁知道如何解决它?
Thanks!!
谢谢!!
P.S. My pom.xml
is (partial):
PS我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:I have the following repositories in my pom.xml:
更新 1:我的 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:The problem that Maven is looking for the dependency in http://repo1.maven.org/maven2/org/apache/avalon/framework/avalon-framework-impl/4.2.0/avalon-framework-impl-4.2.0.pom, but the correct URL is: https://repo1.maven.org/maven2/avalon-framework/avalon-framework-api/4.2.0/avalon-framework-api-4.2.0.pom
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
回答by Sezin Karli
You have a settings.xm
l under your .m2
folder. You must add a repository here like below:
你settings.xm
的.m2
文件夹下有一个l 。您必须在此处添加一个存储库,如下所示:
</repository>
<repository>
<id>central</id>
<name>Maven Repository Switchboard</name>
<url>http://repo1.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
回答by The Coder
You need to add this code in pom.xml
您需要在 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>
回答by user1769790
I had this problem where my lookup for dependencies were failing. As it was kind of replacing org.xxx as org/xxx and none of the dependencies were pulled.
我在查找依赖项失败时遇到了这个问题。因为它有点像将 org.xxx 替换为 org/xxx 并且没有任何依赖项被拉出。
The url for default Central Maven repository is http://repo.maven.apache.org/maven2/. Unless you want to fetch artifacts from different location (like local artifactory etc.,) Remove section or you can still have
默认中央 Maven 存储库的 url 是http://repo.maven.apache.org/maven2/。除非您想从不同位置获取工件(如本地工件等),否则请删除部分,否则您仍然可以拥有
<repository>
<id>central</id>
<url>http://repo.maven.apache.org/maven2/</url>
</repository>
mvn clean install it should download all repositories that you are looking for.
mvn clean install 它应该下载您正在寻找的所有存储库。