Maven et les proxies web

Pour utiliser un proxy http avec maven, il y a trois possibilités :

Donner les paramètres dans la configuration de niveau utilisateur de maven en le configurant dans le fichier ~/.m2/settings.xml.

Configurer username et password

<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
                          https://maven.apache.org/xsd/settings-1.0.0.xsd">
       <proxies>
                <proxy>
                    <id>UTLN-http-proxy</id>
                    <active>true</active>
                    <protocol>http</protocol>
                    <host>proxy.univ-tln.fr</host>
                    <port>3128</port>
                    <username>XXX</username>
                    <password>YYY</password>
                    <nonProxyHosts>*.univ-tln.fr</nonProxyHosts>
                </proxy>
            </proxies>
</settings>            

Il est aussi possible d’utiliser les variables standards (cf. Proxy Web) en passant l’option -Djava.net.useSystemProxies=true aux commandes java, mvn (ou via la variable globale _JAVA_OPTIONS).

export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true -Djava.net.useSystemProxies=true" 

Il est aussi possible d’utiliser un entrepôt maven interne (sans authentification) qui sert de proxy/cache spécifique à maven. Un entrepôt de ce type est proposé sur la machine lsis.univ-tln.fr.

 <settings>

   <mirrors>
       <mirror>
           <id>lsis-nexus-public</id>
           <mirrorOf>*</mirrorOf>
           <!-- Il est possible de limiter les repositories concernés -->
           <!-- mirrorOf>http://repository.jboss.org/maven2,
             https://repo.maven.apache.org, 
             https://repo1.maven.org/maven2,
             https://repo.eclipse.org/content/repositories/egit-releases/,
             https://nexus.lsis.univ-tln.fr/repository/bintray-dptinfoutln-public/</mirrorOf -->
           <url>https://nexus.lsis.univ-tln.fr/repository/maven-public/</url>
       </mirror>
   </mirrors>
   
 </settings>

—- dataentry page —- type : Howto technologie_tags : Maven theme_tags : Proxy