pom how configurar maven-2 proxy

maven 2 - how - Puede acceder al repositorio maven desde detrás del proxy, necesita ayuda



maven repository (4)

¿Es un proxy NTLM? Si es así, intente proporcionar el domainname/username de domainname/username para el username (como se sugiere en este hilo ).

<username>DOMAINNAME/USERNAME</username>

Estoy tratando de acceder al repositorio maven desde detrás del proxy. Configuré settings.xml correctamente (supongo que sí ...)

<proxies> <proxy> <active>true</active> <protocol>http</protocol> <username>username</username> <password>password</password> <host>12.34.56.78</host> <port>8080</port> </proxy> </proxies>

Pero aún recibo un mensaje de error como ... si no configuro el ID de usuario / contraseña, aparece el mensaje de error correcto, que es el código de respuesta HTTP 407 , que dice que se requiere autenticación. Pero si configuro la autenticación proxy correcta / incorrecta, siempre se imprime debajo del mensaje de error ...

Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom [WARNING] Unable to get resource ''org.apache.maven.plugins:maven-clean-plugin:pom:2.2'' from repository central (http://repo1.maven.org/maven2): Error trans ferring file: Server redirected too many times (20) Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom [WARNING] Unable to get resource ''org.apache.maven.plugins:maven-clean-plugin:pom:2.2'' from repository central (http://repo1.maven.org/maven2): Error trans ferring file: Server redirected too many times (20) [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR


Otra alternativa es obtener Cntlm ( http://cntlm.sourceforge.net/ ) en su máquina, configurar su proxy NTLM en cntlm.ini con su dominio / contraseña / nombre de proxy, etc. ejecutarlo:

cntlm.exe -v -a NTLMv2 -c cntlm.ini

Edite su maven $ MAVEN_HOME / conf / settings.xml , y use el bloque de proxies:

<proxies> <proxy> <active>true</active> <protocol>http</protocol> <host>localhost</host> <port>3128</port> <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts> </proxy> </proxies>

Ahora ejecuta maven con la opción -s :

mvn -s $MAVEN_HOME/conf/settings.xml <goal>


Si lo anterior no funciona

Paso # 2: Agregar la extensión wagon-http-lightweight

La biblioteca ligera de Wagon HTTP nos permite superar las limitaciones de autenticación en Maven (3.0.4) cuando se trabaja con proxies NTLM. Podemos seguir los pasos a continuación para agregar la biblioteca ligera Wagon HTTP como una extensión de Maven:

  • Descarga el wagon-http-lightweight-2.2.jar desde here .

  • Copie wagon-http-lightweight-2.2.jar en la %M2_HOME%/lib/ext .

Ejemplo pom.xml para probar la solución

Para probar nuestro enfoque, primero cree un proyecto simple de Maven con el siguiente pom.xml:

<!-- pom.xml --> <project 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/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.thira.testmavenplugindl</groupId> <artifactId>test-maven-plugin-dl</artifactId> <version>0.0.1-SNAPSHOT</version> <name>Test Maven Plugin Download Issue</name> <description>Example pom file to test Maven dependency download with NTLM proxies</description> </project>

El correr el objetivo Maven se describe a continuación. Esto debería ejecutarse con éxito y descargar todas las dependencias de Maven:

mvn clean install

Verifique su directorio de repositorio local (como se define en el archivo settings.xml) para asegurarse de que todas las dependencias se descarguen correctamente.


También me topé con este problema, pasé mucho tiempo buscando una solución al error NTLM. El problema de NTLM no desaparece, incluso si prefijamos el nombre de usuario con el nombre de dominio solo en la etiqueta proxy, también debemos prefijar los identificadores de usuario en las etiquetas de servidor como se indica a continuación ...

<server> <id>isb-libs-dev</id> <username><internal.java.corp>/username</username> <password>password</password> </server>