Maven 3主机如何与Maven 2不同?

时间:2013-07-12 09:12:00

标签: maven build artifactory

我正在努力从Maven 2迁移到Maven 3.我故意从消息和设置中删除了主机和端口。

Maven 2目前适用于我们在防火墙后面设置的Artifactory中央存储库。当我切换到使用Maven 3时,它无法下载带有错误消息的插件:

  

[错误]插件org.apache.maven.plugins:maven-install-plugin:2.3.1或   其中一个依赖项无法解决:无法读取   组织的工件描述符。   apache.maven.plugins:maven-install-plugin:jar:2.3.1:不能   转移神器   org.apache.maven.plugins:maven-install-plugin:pom:2.3.1 from / to   中心(http:/ /:/ artifactory / plugins-release):访问   否认:   HTTP://:/artifactory/plugins-release/org/apache/maven/plugins/maven-install-plugin/2.3.1/maven-install-plugin-2.3.1.pom   ,ReasonPhrase:禁止。

以下是我的设置:

    <?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<proxies>
    <proxy>
      <id>andy</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxyip</host>
      <port>80</port>
      <username>user</username>
      <password>password</password>
      <nonProxyHosts>host</nonProxyHosts>
    </proxy> 
  </proxies>
      <servers>
        <server>
          <username>user</username>
          <password>password</password>
          <id>central</id>
        </server>
        <server>
      <username>user</username>
      <password>password</password>
      <id>snapshots</id>
    </server>
  </servers>
  <profiles>
    <profile>
      <repositories>
        <repository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>central</id>
          <name>libs-release</name>
          <url>http://<host>:<port>/artifactory/libs-release</url>
        </repository>
        <repository>
          <snapshots />
          <id>snapshots</id>
          <name>libs-snapshot</name>
          <url>http://<host>:<port>/artifactory/libs-snapshot</url>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>central</id>
          <name>plugins-release</name>
          <url>http://<host>:<port>/artifactory/plugins-release</url>
        </pluginRepository>
        <pluginRepository>
          <snapshots />
          <id>snapshots</id>
          <name>plugins-snapshot</name>
          <url>http://<host>:<port>/artifactory/plugins-snapshot</url>
        </pluginRepository>
      </pluginRepositories>
      <id>artifactory</id>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>artifactory</activeProfile>
  </activeProfiles>
</settings>

我已检查过神器中是否​​存在正确的插件和版本,这似乎是一个访问问题。在配置需要更新的Maven 2和Maven 3之间有什么变化吗?

3 个答案:

答案 0 :(得分:0)

配置中存在拼写错误(可能是settings.xml或POM文件):http://:/artifactory/不是有效网址,请尝试使用http://artifactory/

编辑如果网址在浏览器中有效,则Maven无法访问。

错误消息显示:Maven尝试下载文件,服务器以HTTP status 403 (Forbidden)回复。由于它适用于Web浏览器,因此这绝对是settings.xml的问题以及Artifactory服务器上的权限。

我曾经遇到过与Nexus类似的问题;它被配置为拒绝访问某些包。

检查存储库服务器的日志文件。您还可以尝试删除<server>中的任何settings.xml条目 - 浏览器也可以在不登录的情况下进行连接。(当然)确保用户名和密码正确无误。

答案 1 :(得分:0)

您在计算机和Intranet上的Artifactory服务器之间定义了代理。通常,这不是正确的设置。 Artifactory可能需要一个代理来访问互联网上的服务器(远程存储库),但是maven可能必须在没有代理的情况下访问Artifactory。

答案 2 :(得分:0)

我通过重新下载和刷新我的Maven 3安装来修复此问题。安装肯定有问题。