Maven comando para determinar qué Maven settings.xml está utilizando
-
12-09-2019 - |
Pregunta
¿Cómo se utiliza la línea de comandos experto para determinar qué Maven settings.xml se está acelerando?
Solución
Iniciar experto con opción -X (depuración) y examinar el principio de la salida. No debería ser 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
...
(nombres de los directorios originales se eliminan por mí)
Otros consejos
Su comentario a Cletus (correcta) respuesta implica que hay múltiples archivos de configuración de Maven involucrados.
Maven siempre utiliza ya sea uno o dos archivos de configuración. Siempre se requiere la configuración globales definidas en ($ {} M2_HOME /conf/settings.xml). El archivo de configuración de usuario (definido en $ {} user.home /. M2 / settings.xml) es opcional. Cualquier configuración definida en la configuración de usuario tienen prioridad sobre los correspondientes ajustes globales.
Puede anular la ubicación de la configuración global y de usuario desde la línea de comandos, el siguiente ejemplo fijará los ajustes globales a c: \ configuración global \ settings.xml y el usuario a c: \ usuario \ settings.xml
mvn install --settings c:\user\settings.xml
--global-settings c:\global\settings.xml
En la actualidad no hay ninguna propiedad o medios para establecer qué archivos de configuración global del usuario y se utiliza desde con Maven. Para acceder a estos valores, se tendría que modificar MavenCli y / o DefaultMavenSettingsBuilder para inyectar las ubicaciones de los archivos en la configuración de objeto resolver.
Puede utilizar el Maven plugin de ayuda decirle los contenidos de la configuración global de usuarios y archivos.
mvn help:effective-settings
pedirá experto para escupir los combinado configuración global y de usuario .
Este es el archivo de configuración para Maven. Se puede especificar a dos niveles:
-
Nivel de usuario. Este archivo settings.xml proporciona una 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 Mundial. Este settings.xml proporciona una configuración para todos Maven usuarios de un equipo (suponiendo que todos están utilizando la misma Maven instalación). Normalmente está previsto en $ {} Maven.home /conf/settings.xml.
NOTE: This location can be overridden with the CLI option: -gs /path/to/global/settings.xml
La variable de entorno M2_HOME
para el global. Ver Referencia de la configuración :
El elemento
settings
en elsettings.xml
archivo contiene elementos se utiliza para definir los valores que configuran Maven ejecución de diversas maneras, como lapom.xml
, pero no debe ser incluido para cualquier proyecto específico, o distribuido a una audiencia. Estas incluir valores tales como el local de ubicación de repositorio, remoto alternativo servidores de repositorios y autenticación información. Hay dos lugares donde un settings.xml puede vivir:
- El Maven instalar:
$M2_HOME/conf/settings.xml
- Un usuario de instalar:
${user.home}/.m2/settings.xml
Método rápido y sucio para determinar si está utilizando Maven settings.xml deseada sería invalidar su xml y ejecutar algún comando experto en seguridad que requiere settings.xml.
Si se lee este settings.xml continuación Maven informa de un error: "Error de lectura settings.xml ..."