generate - Comando Maven para determinar qué archivo settings.xml está usando Maven
maven settings.xml mirror (6)
¿Cómo uso la línea de comandos de maven para determinar qué archivo de configuración.xml está recogiendo Maven?
Este es el archivo de configuración para Maven. Se puede especificar en dos niveles:
Nivel de usuario. Este archivo settings.xml proporciona la configuración para un solo usuario, y normalmente se proporciona en $ {user.home} /. M2 / settings.xml.
NOTE: This location can be overridden with the CLI option: -s /path/to/user/settings.xml
Nivel global. Este archivo settings.xml proporciona la configuración para todos los usuarios de Maven en una máquina (asumiendo que todos están usando la misma instalación de Maven). Normalmente se proporciona en $ {maven.home} /conf/settings.xml.
NOTE: This location can be overridden with the CLI option: -gs /path/to/global/settings.xml
Inicie maven con la opción -X (depurar) y examine el comienzo de la salida. Debería haber algo como esto:
...
[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from c:/..../apache-maven-3.0.3/conf/settings.xml
[DEBUG] Reading user settings from c:/..../.m2/settings.xml
[DEBUG] Using local repository at C:/..../repository
...
(Los nombres de directorio originales son eliminados por mi)
La variable de entorno M2_HOME
para el global. Ver referencia de configuración :
El elemento de
settings
en el archivosettings.xml
contiene elementos utilizados para definir valores que configuran la ejecución de Maven de varias maneras, como elpom.xml
, pero no se deben agrupar en ningún proyecto específico ni distribuir a una audiencia. Estos incluyen valores como la ubicación del repositorio local, servidores de repositorio remotos alternativos e información de autenticación. Hay dos ubicaciones donde puede vivir un archivo settings.xml:
- La instalación de Maven:
$M2_HOME/conf/settings.xml
${user.home}/.m2/settings.xml
un usuario:${user.home}/.m2/settings.xml
Puede usar el complemento de ayuda de maven para informarle el contenido de su usuario y los archivos de configuración global.
mvn help:effective-settings
Le pedirá a Maven que escupa las configuraciones globales y de usuario combinadas .
Su comentario a la respuesta (correcta) de cletus implica que hay múltiples archivos de configuración de Maven involucrados.
Maven siempre usa uno o dos archivos de configuración. La configuración global definida en ($ {M2_HOME} /conf/settings.xml) siempre es necesaria. El archivo de configuración del usuario (definido en $ {user.home} /. M2 / settings.xml) es opcional. Cualquier configuración definida en la configuración del usuario tiene prioridad sobre la configuración global correspondiente.
Puede anular la ubicación de la configuración global y del usuario desde la línea de comandos, el siguiente ejemplo establecerá la configuración global en c: / global / settings.xml y la configuración del usuario en c: / user / settings.xml :
mvn install --settings c:/user/settings.xml
--global-settings c:/global/settings.xml
Actualmente no hay propiedades ni medios para establecer qué archivos de configuración global y de usuario se utilizaron con Maven. Para acceder a estos valores, tendría que modificar MavenCli y / o DefaultMavenSettingsBuilder para inyectar las ubicaciones de los archivos en el objeto Configuración resuelto.
Un método rápido y sucio para determinar si Maven está usando la configuración deseada. Xml sería invalidar su xml y ejecutar algún comando de seguridad seguro que requiera la configuración de.xml.
Si lee este archivo settings.xml, Maven notifica un error: "Error al leer la configuración.xml ..."