J'utilise la suite d'outils Springsource 2.7.2, basée sur Eclipse 3.7. Le plugin Maven est maintenant prêt à l'emploi avec Eclipse, ce qui est excellent, et ce problème s'est produit même avec la version précédente d'Eclipse.
Alors voici mon problème:
J'ai défini les informations de proxy dans mon settings.xml
, et sur la ligne de commande, Maven fonctionne parfaitement. J'ai également défini les mêmes détails de proxy dans la configuration Eclipse elle-même, et je sais qu'il est correct, de même que les mises à jour fonctionnent avec et non sans.
Bien sûr, le plugin Maven dans mon installation Eclipse est configuré pour utiliser le settings.xml
fichier.
Mais maven dans Eclipse n’utilise tout simplement pas les paramètres de proxy de l’un de ces emplacements, ce qui est très gênant chaque fois que je modifie le fichier pom. Quelqu'un at-il une solution à ce problème?
Voici mon fichier settings.xml:
<?xml version="1.0" encoding="UTF-8"?>
<settings 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/settings-1.0.0.xsd">
<profiles>
<profile>
<id>general</id>
<repositories>
<repository>
<snapshots><enabled>false</enabled></snapshots>
<id>ibiblio</id>
<name>Maven ibiblio</name>
<url>http://www.ibiblio.org/maven2</url>
</repository>
<repository>
<snapshots><enabled>true</enabled></snapshots>
<id>ibiblio2</id>
<name>Maven ibiblio2</name>
<url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
</repository>
<repository>
<snapshots><enabled>true</enabled></snapshots>
<id>maven</id>
<name>Maven sunsite</name>
<url>http://repo1.maven.org/maven2/</url>
</repository>
<repository>
<snapshots><enabled>true</enabled></snapshots>
<id>jboss</id>
<name>Maven jboss</name>
<url>http://repository.jboss.org/maven2/</url>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>general</activeProfile>
</activeProfiles>
<proxies>
<proxy>
<id>proxy</id>
<active>true</active>
<protocol>http</protocol>
<Host>myproxyserver</Host>
<port>80</port>
<username>myusername</username>
<password>mypassword</password>
</proxy>
</proxies>
</settings>
Le plugin Maven utilise un fichier de paramètres dans lequel la configuration peut être définie. Son chemin est disponible dans Eclipse à l'adresse Window|Preferences|Maven|User Settings
. Si le fichier n'existe pas, créez-le et mettez quelque chose comme ceci:
<settings xmlns="http://maven.Apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.Apache.org/SETTINGS/1.0.0
http://maven.Apache.org/xsd/settings-1.0.0.xsd">
<localRepository/>
<interactiveMode/>
<usePluginRegistry/>
<offline/>
<pluginGroups/>
<servers/>
<mirrors/>
<proxies>
<proxy>
<id>myproxy</id>
<active>true</active>
<protocol>http</protocol>
<Host>192.168.1.100</Host>
<port>6666</port>
<username></username>
<password></password>
<nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
</proxy>
</proxies>
<profiles/>
<activeProfiles/>
</settings>
Après avoir édité le fichier, il suffit de cliquer sur Update Settings
bouton et c'est fait. Je viens de le faire et ça a marché :)
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.Apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.Apache.org/SETTINGS/1.1.0 http://maven.Apache.org/xsd/settings-1.1.0.xsd">
<proxies>
<proxy>
<active>true</active>
<protocol>http</protocol>
<Host>proxy.somewhere.com</Host>
<port>8080</port>
<username>proxyuser</username>
<password>somepassword</password>
<nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts>
</proxy>
</proxies>
</settings>
Fenêtre> Préférences> Maven> Paramètres utilisateur
Eclipse par défaut ne connaît pas votre installation externe Maven et utilise celle intégrée. Par conséquent, pour qu'Eclipse utilise vos paramètres globaux, vous devez le définir dans le menu Paramètres → Maven → Installations.