plugin deploy maven-2 basic-authentication artifactory

maven 2 - deploy - Acceder a un Artifactory/Maven Repo que requiere una autenticación básica



configure artifactory maven (3)

El nombre de usuario y la contraseña van en la configuración del servidor como los tiene. Creo que su problema es que ha especificado el servidor por su nombre ( A rtifactory), en lugar de su id ( a rtifactory).

Le recomiendo que ponga la configuración del servidor en su configuración de usuario en lugar de la configuración global. También puede cifrar la contraseña en Maven 2.1.0+, consulte la mini guía para obtener más información.

Actualización: ¿Qué versión de Artifactory estás usando? Hay una discusión y el issue correspondiente de que la autenticación básica falla. Aparentemente esto ha sido arreglado en 2.0.7 y 2.1.0.

De la discusión, parece que una workaround es pasar las propiedades a través de la línea de comandos, por ejemplo

-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 -Dproxy.username=... -Dhttp.password=...

Actualización: para permitir que la instalación de Maven se conecte a través de un firewall, deberá configurar la sección de proxy del archivo settings.xml. Consulte esta question para obtener algunos consejos sobre cómo hacerlo.

Actualización 2: hay propiedades adicionales que puede establecer en la configuración del servidor , consulte este blog para obtener algunos antecedentes. No he tenido la oportunidad de probar esto, pero desde el blog y el http wagon javadoc relacionado, parece que puede establecer authenticationInfo en la configuración del servidor, algo como esto:

<server> <id>Artifactory</id> <username>someArtifactoryUser</username> <password>someArtifactoryPassword</password> <configuration> <authenticationInfo> <userName>auth-user</userName> <password>auth-pass</password> </authenticationInfo> </configuration> </server>

Tengo un repositorio de artefactos que se encuentra detrás de la autenticación básica. ¿Cómo puedo configurar settings.xml para permitir el acceso?

<mirrors> <mirror> <id>artifactory</id> <mirrorOf>*</mirrorOf> <url>https://myserver.example.com/artifactory/repo</url> <name>Artifactory</name> </mirror> </mirrors> <servers> <!-- This server configuration gives your personal username/password for artifactory. Note that the server id must match that given in the mirrors section. --> <server> <id>Artifactory</id> <username>someArtifactoryUser</username> <password>someArtifactoryPassword</password> </server>

Así que la etiqueta del servidor es la credencial del usuario para el usuario de artefactos, pero también necesito proporcionar otro usuario / contraseña para pasar por la autenticación básica. ¿Dónde pondré eso?


Pude usar la siguiente configuración para habilitar la autenticación básica HTTP, escribiendo los encabezados HTTP necesarios manualmente. En mi situación, lo utilicé para acceder a los artefactos de compilación en mi servidor Go como el repositorio de pruebas de un hombre pobre.

<server> <id>go</id> <configuration> <httpHeaders> <property> <name>Authorization</name> <!-- Base64-encoded "guest:guest" --> <value>Basic Z3Vlc3Q6Z3Vlc3Q=</value> </property> </httpHeaders> </configuration> </server>


Sugerencia para resolver el problema con la contraseña de texto simple:

  • Acceda e inicie sesión en Artifactory.
  • Una vez que haya iniciado sesión, haga clic sobre su nombre de usuario, en la esquina superior derecha de la pantalla.
  • Ponga su contraseña y luego haga clic en el botón Desbloquear, habilitando la contraseña encriptada.
  • Copie la etiqueta que se mostrará en la parte inferior de la pantalla y péguela en el archivo settings.xml. Si prefiere simplemente copiar la contraseña, asegúrese de dejar que sea exactamente igual a la etiqueta que se muestra a continuación, incluida la "/" al principio de la contraseña.
  • Recuerde ajustar la etiqueta con el ID de su servidor, definido en la etiqueta, en su POM.xml
  • Haga clic en el botón Actualizar y listo! Compruebe si todo ocurrirá bien en la publicación del próximo proyecto.