我正在努力从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之间有什么变化吗?
答案 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安装来修复此问题。安装肯定有问题。