Maven : "Unable to find resource" à cause d'un proxy

Publié le 16 Février 2010

En temps normal Maven télécharge et installe automatiquement toutes les dépendances spécifiées dans un fichier POM.

Cependant si vous êtes derrière un proxy, il se peut que le téléchargment échoue avec l'erreur suivante:

Downloading: http://repo1.maven.org/maven2/net/sourceforge/jexcelapi/jxl/2.6.12/jxl-2.6.12.pom
[INFO] Unable to find resource 'net.sourceforge.jexcelapi:jxl:pom:2.6.12' in repository central (http://repo1.maven.org/maven2)
Downloading: http://repo1.maven.org/maven2/net/sourceforge/jexcelapi/jxl/2.6.12/jxl-2.6.12.jar
[INFO] Unable to find resource 'net.sourceforge.jexcelapi:jxl:jar:2.6.12' in repository central (http://repo1.maven.org/maven2)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.


En fait Maven ne sait pas que vous vous trouvez derrière un proxy et il essaie de télécharger le fichier directement sans passer par le proxy ce qui échoue.

Pour que ça marche il faut indiquer à Maven le proxy à utiliser. Cela se fait en modifiant le fichier "settings.xml" qui se trouve dans votre répertoire ".m2".

Le répertoire ".m2" se trouve dans votre répertoire utilisateur. Normalement ça ressemble à quelque chose comme ça sous windows :

C:\Documents and Settings\patatos\.m2

Ensuite il faut éditer le fichier settings.xml et chercher la balise :

<proxies>

A l'intérieur de cette balise il faut définir un proxy de la manière suivante:

        <proxy>
      <id>monProxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>proxyuser</username>
      <password>proxypass</password>
      <host>proxy.host.net</host>
      <port>80</port>
      <nonProxyHosts>localhost|some.host.com|*.mondomaine.com</nonProxyHosts>
    </proxy>


Seules les lignes en gras sont nécessaires. N'oublier pas de préciser un utilisateur et un mot de passe si votre proxy en utilise.

Enregistrer le fichier et relancer la compilation avec Maven : Les dépendances doivent maintenant être téléchargées automatiquement.

Rédigé par Bliz

Publié dans #Maven

Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article