¿Cómo uso maven la línea de comando para determinar qué archivo de settings.xml está recuperando Maven?Maven comando para determinar qué archivo de settings.xml utiliza Maven
Respuesta
experto de inicio con la 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 directorio original se eliminan por mí)
La variable de entorno M2_HOME
para la global. Ver Settings Reference:
The
settings
element in thesettings.xml
file contains elements used to define values which configure Maven execution in various ways, like thepom.xml
, but should not be bundled to any specific project, or distributed to an audience. These include values such as the local repository location, alternate remote repository servers, and authentication information. There are two locations where a settings.xml file may live:
- The Maven install:
$M2_HOME/conf/settings.xml
- A user's install:
${user.home}/.m2/settings.xml
Si esta respuesta implica que la determinación del repositorio se realiza solo examinando el entorno, entonces esta es una respuesta válida. Esperaba aprender sobre un modificador de línea de comandos o algo que ofrezca una lista definitiva de rutas calificadas para todos los archivos settings.xml usados ... Creo que probablemente no exista tal mecanismo. – harschware
+1 respuesta, Cletus. Creo que vale la pena mencionar la siguiente línea de su enlace "Configuración de referencia": 'las configuraciones anteriores.xml también se llaman configuraciones globales, las últimas configuraciones.xml se conocen como configuraciones de usuario. Si ambos archivos existen, sus contenidos se combinan, siendo el archivo settings.xml específico del usuario el principal. –
su comentario de Cletus (correcta) respuesta implica que hay múltiples archivos de configuración de Maven involucrados.
Maven siempre utiliza 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 de usuario desde la línea de comandos, el ejemplo siguiente configurará los ajustes globales a c: \ \ settings.xml mundial y la configuración de usuario a c: \ usuario \ settings.xml:
mvn install --settings c:\user\settings.xml
--global-settings c:\global\settings.xml
Actualmente no hay ninguna propiedad o los medios para establecer qué archivos de configuración global del usuario y se utiliza desde con Maven. Para acceder a estos valores, deberá modificar MavenCli y/o DefaultMavenSettingsBuilder para inyectar las ubicaciones de archivos en el objeto de Configuración resuelto.
sería genial si pudiéramos proporcionar configuraciones de usuario múltiples.xml, por lo que podríamos usarlas con diferentes proyectos, por ejemplo. Sé que podríamos usar un perfil. Pero sería mucho mejor si hubiera un archivo separado. No es posible, ¿verdad? ¡Aclamaciones! – despot
Estaba buscando una solución para anular mi configuración de usuario solo una vez sin tener que manipular el archivo. Así que acabo de utilizar el archivo global para la configuración del usuario. Es decir. --settings c: \ global \ settings.xml de esta manera el archivo del usuario se omitió – msparer
@despot, tarde para la fiesta, pero de una manera que se puede a través de múltiples perfiles definidos y algunos 'disparadores' personalizados: https: //maven.apache .org/settings.html # Activation – indivisible
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 (suponiendo 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
la propiedad es M2_HOME, no maven.home –
No importa. Si configuras la variable de entorno usando maven.home, no será un problema – firstthumb
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: "settings.xml Error al leer ..."
Si bien la respuesta de Cletus fue muy informativa, esta respuesta es en sentido estricto más de lo que estaba buscando (dado que parece que no hay ninguna configuración). mecanismo de informe de archivos xml en Maven mismo) – harschware
Puede utilizar el maven help plugin para decirle el contenido de su usuario y archivos de configuración globales.
mvn help:effective-settings
experto le pedirá a escupir los configuración global y de usuario combinados.
- 1. Maven Proxy Settings.xml ignorado
- 2. ¿Por qué el archivo maven settings.xml no está allí?
- 3. Maven - <server/> en settings.xml
- 4. Plugin de Maven en Eclipse - Falta el archivo Settings.xml
- 5. Distribuir el archivo maven settings.xml en el entorno corporativo
- 6. Preguntas para determinar el conocimiento de Maven
- 7. Maven utiliza sólo repositorio central con Nexus
- 8. Usando las propiedades Maven settings.xml dentro del contexto Spring
- 9. Maven no utiliza Java 7
- 10. Cómo establecer el orden de los repositorios en Maven settings.xml
- 11. Línea de comando de Maven
- 12. ¿Puedo agregar repositorios maven en la línea de comando?
- 13. Maven: comando mvn no encontrado
- 14. ¿Dónde está Maven 'settings.xml ubicado en mac os?
- 15. ¿Cómo puedo evitar que Maven busque actualizaciones de repositorios que no figuran en mi archivo settings.xml?
- 16. ¿Qué settings.xml usa el esclavo jenkins?
- 17. Activar un comando de instalación de maven desde otro comando de instalación de maven
- 18. Maven no utiliza el repositorio local
- 19. Mejores prácticas de Maven
- 20. Averiguar qué compilador usa Maven
- 21. ¿Cómo configurar Maven para sobrescribir un archivo de configuración para otro cuando se ejecuta una prueba?
- 22. Enviar la salida de maven al archivo
- 23. Maven objetivo/complemento para tocar un archivo
- 24. Perfil de construcciones paralelas de Maven 3
- 25. Maven + Surefire: configuración de proxy
- 26. Especifique JDK para que Maven use
- 27. ¿Qué plugin maven uso para AspectJ?
- 28. ¿Cuál es el mejor lugar para especificar repositorios maven, pom.xml o settings.xml?
- 29. Maven INSTANTÁNEA nombres de archivo JAR no es coherente utilizando Maven Asamblea en el archivo MANIFIESTO
- 30. maven deploy archivo jar adicional
Quizás esto no estuvo en la salida de depuración hasta que se lanzó maven 3, pero su publicación unos 2,5 años más tarde es finalmente la respuesta exacta que estaba buscando (disculpe el retraso de 6 meses en darse cuenta) – harschware