2013-07-12 4 views
0

Je travaille pour migrer de Maven 2 à Maven 3. J'ai délibérément retiré l'hôte et le port des messages et des paramètres. Maven 2 fonctionne actuellement correctement avec le référentiel central Artifactory que nous avons configuré derrière un pare-feu. Lorsque je passe à l'aide de Maven 3, il ne parvient pas à télécharger les plug-ins avec le message d'erreur:comment l'hôte Maven 3 est-il différent de Maven 2?

[ERREUR] Plugin org.apache.maven.plugins: maven-install-plugin: 2.3.1 ou un de ses les dépendances n'ont pas pu être résolues: Impossible de lire le descripteur d'artefact pour l'organisation. apache.maven.plugins: maven-install-plugin: pot: 2.3.1: Impossible de transférer artefact de transfert org.apache.maven.plugins: maven-install-plugin: pom: 2.3.1 de/vers central (http://:/artifactory/plugins-release): Accès refusé à: http: //: /artifactory/plugins-release/org/apache/maven/plugins/maven-install-plugin/2.3.1/maven -install-plugin-2.3.1.pom , ReasonPhrase: Interdit.

Voici mes paramètres:

<?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> 

J'ai vérifié que le plug-in correct et la version existe dans Artifactory, cela ne semble être un problème d'accès. Est-ce que quelque chose a changé entre Maven 2 et Maven 3 où la configuration doit être mise à jour?

+0

J'ai découvert que cela est dû au fait que Maven 3 essaie de trouver l'hôte via le proxy, pas sur le réseau local. Cela signifie que la question devient: comment Maven 3 host est-il différent de Maven 2? ? –

+0

hôte<- Cette balise l'arrête en utilisant le proxy, je mets ceci dedans pour arrêter maven 3 host recherche vers le proxy –

Répondre

0

J'ai résolu ce problème en re-téléchargeant et en actualisant mon installation Maven 3. Il doit y avoir eu quelque chose de mal avec l'installation.

0

Il y a une faute de frappe dans la configuration (probablement settings.xml ou un fichier POM): http://:/artifactory/ n'est pas une URL valide, essayez plutôt http://artifactory/.

EDIT Si l'URL est valide dans un navigateur, Maven n'a aucun accès.

Ce que le message d'erreur indique: Maven a essayé de télécharger le fichier et le serveur a répondu avec HTTP status 403 (Forbidden). Comme cela fonctionne avec un navigateur Web, il s'agit certainement d'un problème avec settings.xml et des autorisations sur le serveur Artifactory.

J'ai déjà eu un problème similaire avec Nexus; il a été configuré pour refuser l'accès à certains paquets.

Vérifiez les fichiers journaux du serveur de référentiel. Vous pouvez également essayer d'enlever <server> entrées dans settings.xml - le navigateur se connecte également sans se connecter. Et (bien sûr) assurez-vous que les noms d'utilisateur et les mots de passe sont corrects.

+0

J'ai sorti le nom d'hôte et le port pour protéger l'identifiant de l'entreprise.J'ai copié et collé le lien dans le message d'erreur dans le navigateur Internet et cela fonctionne (commence à télécharger le pom). –

+0

Merci pour la réponse mise à jour! Les mêmes paramètres fonctionnent avec maven 2 ce qui suggère qu'il ne peut pas être un problème de mot de passe, j'ai supprimé la définition du serveur et avait toujours le même problème. –

+0

J'ai regardé les journaux du serveur et il semble que maven 3 n'atteigne jamais le serveur, c'est donc la mise en réseau ou la détermination de l'hôte qui échoue. Je vais essayer d'installer une copie locale d'artificiel pour voir si cela va résoudre le problème. –

0

Vous avez défini un proxy entre votre machine et votre serveur Artifactory sur l'intranet. Habituellement, ce n'est pas la bonne configuration. Artifactory peut avoir besoin d'un proxy pour atteindre les serveurs sur Internet (les dépôts distants), mais maven doit probablement accéder à Artifactory sans proxy.