Maven comando per determinare quale file di Maven settings.xml utilizza
-
12-09-2019 - |
Domanda
Come faccio a utilizzare riga di comando Maven per determinare quale file di Maven settings.xml è in ripresa?
Soluzione
Inizia Maven con -X opzione (debug) ed esaminare l'inizio della produzione. Non ci dovrebbe essere qualcosa di simile:
...
[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
...
(i nomi delle directory originali vengono rimossi da me)
Altri suggerimenti
Il tuo commento a Cletus' (corretta) risposta implica che ci sono più file di impostazioni Maven coinvolte.
Maven utilizza sempre una o due file di impostazioni. Tutte le impostazioni definite in ($ {} M2_HOME /conf/settings.xml) è sempre necessario. Il file di impostazioni utente (definito in $ {} user.home /. M2 / settings.xml) è facoltativo. Qualsiasi impostazione definite nelle impostazioni utente prevalgono sulle corrispondenti impostazioni globali.
È possibile sovrascrivere la posizione delle impostazioni globali e utente dalla riga di comando, il seguente esempio effettuerà le impostazioni globali per c: \ impostazioni globali \ settings.xml e l'utente di c: \ user \ settings.xml :
mvn install --settings c:\user\settings.xml
--global-settings c:\global\settings.xml
Al momento non v'è alcuna proprietà o mezzi per stabilire quali file delle impostazioni globali degli utenti e sono stati utilizzati da con Maven. Per accedere a questi valori, si dovrebbe modificare MavenCli e / o DefaultMavenSettingsBuilder per iniettare le posizioni dei file nelle Impostazioni risolte oggetto.
È possibile utilizzare il Maven plugin della guida di dirvi il contenuto di le impostazioni globali utente e file.
mvn help:effective-settings
chiederà Maven a sputare le combinato impostazioni globali e utente .
Questo è il file di configurazione per Maven. Può essere specificato a due livelli:
-
livello utente. Questo file settings.xml fornisce la configurazione per un singolo utente, ed è normalmente previsto in $ {} user.home /. m2 / settings.xml.
NOTE: This location can be overridden with the CLI option: -s /path/to/user/settings.xml
-
Globale livello. Questo file settings.xml fornisce la configurazione per tutti Maven gli utenti su una macchina (ammesso che sono tutti utilizzando lo stesso Maven installazione). E 'normalmente fornito in $ {} Maven.home /conf/settings.xml.
NOTE: This location can be overridden with the CLI option: -gs /path/to/global/settings.xml
La variabile di ambiente M2_HOME
per quella globale. Vedere Impostazioni Riferimento :
L'elemento
settings
nel il file contiene elementisettings.xml
utilizzata per definire i valori che configurano esecuzione maven in vari modi, come ilpom.xml
, ma non dovrebbe essere in dotazione per ogni progetto specifico, o distribuito ad un pubblico. Questi includere valori quali il locale percorso del deposito, remota alternate server repository, e l'autenticazione informazione. Ci sono due posizioni in cui un file settings.xml possa vivere:
- Il Maven installare:
$M2_HOME/conf/settings.xml
- installazione di un utente:
${user.home}/.m2/settings.xml
metodo rapido e sporco per determinare se sta usando Maven settings.xml desiderato sarebbe invalidarne la xml ed eseguire qualche comando Maven sicuro che richiede settings.xml.
Se si legge questo settings.xml allora Maven segnala un errore: "Errore lettura settings.xml ..."