Maven安装错误:无法解析依赖关系

时间:2013-12-16 10:31:17

标签: maven maven-3

我正在使用Maven 3.1.1。当我运行mvn install时,我收到以下错误:

D:\spring source>mvn install
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building SpringDependencies 1.0
[INFO] ------------------------------------------------------------------------
Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-
dependency-plugin/2.8/maven-dependency-plugin-2.8.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.648s
[INFO] Finished at: Mon Dec 16 15:01:47 IST 2013
[INFO] Final Memory: 4M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] Plugin org.apache.maven.plugins:maven-dependency-plugin:2.8 or one of it
s dependencies could not be resolved: Failed to read artifact descriptor for org
.apache.maven.plugins:maven-dependency-plugin:jar:2.8: Could not transfer artifa
ct org.apache.maven.plugins:maven-dependency-plugin:pom:2.8 from/to central (htt
p://repo.maven.apache.org/maven2): repo.maven.apache.org: Unknown host repo.mave
n.apache.org -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResoluti
onException

我的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>spring-source-download</groupId>
  <artifactId>SpringDependencies</artifactId>
  <version>1.0</version>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.0.0.RELEASE</version>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
            <version>3.1.1</version>
            <executions>
              <execution>
                <id>download-dependencies</id>
                  <phase>generate-resources</phase>
                    <goals>
                      <goal>copy-dependencies</goal>
                    </goals>
                    <configuration>
                      <outputDirectory> ${project.build.directory}/dependencies </outputDirectory>
                    </configuration>
              </execution>
            </executions>
      </plugin>
    </plugins>
  </build>
</project>

7 个答案:

答案 0 :(得分:8)

  

无法传输工件   org.apache.maven.plugins:maven-dependency-plugin:pom:2.8 from / to   central(http://repo.maven.apache.org/maven2):repo.maven.apache.org:   未知主机repo.maven.apache.org

好像你的maven无法访问远程中央存储库。

  • 检查您是否已建立互联网连接。
  • 检查您是否可以在浏览器中访问默认的maven repo http://repo.maven.apache.org/maven2
  • 检查<repositories>
  • <proxies>settings.xml中的配置是否正确

答案 1 :(得分:2)

此错误是由代理设置引起的。

首先,检查您是否能够从浏览器连接到maven存储库(http://repo1.maven.org/maven2)。

然后更新Maven代理设置在.m2目录中创建/更新settings.xml,并提供以下详细信息:

 <proxies>
    <proxy>
      <active>true</active>
      <protocol>http</protocol>
      <host>{your proxy server host name}</host>
      <port>{your proxy server port}</port>
      <nonProxyHosts>maven</nonProxyHosts>
    </proxy>
  </proxies>

Maven社区提供的解决方案:http://maven.apache.org/guides/mini/guide-proxies.html

答案 2 :(得分:2)

这是由maven或plugins文件夹损坏引起的。要解决此问题:

  1. 删除\ .m2 \ repository \ org \ apache \ maven
  2. mvn依赖:resolve -X

答案 3 :(得分:0)

派对可能有点晚了,但是即使资源/依赖关系在该地址不可用,似乎还有一个未知的主机异常从maven中抛出。

这可能意味着问题可能实际上是你有一个传递依赖,指向你错误的jar的版本(或者传递多次包含的一个 - 其中一个可能是一个无法解决的版本)。 (我看到它正在寻找插件的2.8版,但你指定了3.1.1版本,所以很可能你有另一个依赖,包括错误的版本)。

您可以使用排除标记排除传递包含依赖项。

答案 4 :(得分:0)

通过在.m2 / settings.xml中提供正确的代理主机,我们解决了这个问题。

示例:

<proxies>
   <proxy>
      <id>XXXXXXXXXX</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>na-xxxx-proxy.na.xxxxxxxxxx.net</host>
      <port>80</port>
      <nonProxyHosts>localhost|10.140.240.90.*</nonProxyHosts>
    </proxy>
  </proxies> 

答案 5 :(得分:0)

我的Settings.xml在哪里?

Windows用户

它在您的C:/Users/<Username>/.m2/settings.xml

这也是针对特定用户的。 全局的可以出现在:

<Maven-Installation-Directory>/conf/settings.xml

但是,如果找不到全局用户,更改用户一个可能会解决此问题。

同样重要的是,转到Eclipse / STS中的“首选项”:

  • 转到Maven->用户设置 并验证是否在属性中同时提及了全局和用户settings.xml文件,如果没有通过浏览提及它们,则予以提及。

1。代理问题

选中https://docs.python.org/3/tutorial/inputoutput.html。 如果您的计算机正在使用任何代理,则还需要在settings.xml文件中添加代理设置。

只需将这段代码添加到您的settings.xml

<proxies>
   <proxy>
      <id>proxy-id</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>ca-something.net</host>
      <port>80</port>
      <nonProxyHosts>localhost|10.140.240.90.*</nonProxyHosts>
    </proxy>
  </proxies> 

2。协议问题

访问http://repo.maven.apache.org/:如果显示需要Https。

然后,您需要将此代码块添加到<mirrors>内的settings.xml中

<mirror>
  <id>central-secure</id>
  <url>https://repo.maven.apache.org/maven2</url>
  <mirrorOf>central</mirrorOf>
</mirror>

现在走应该很好。

3。以上都不是

尝试断开任何公司专用VPN的连接,然后尝试mvn clean build

答案 6 :(得分:0)

断开与 VPN 的连接,然后运行命令。