Maven'in hangi settings.xml dosyasını aldığını belirlemek için maven komut satırını nasıl kullanabilirim?
Maven'in hangi settings.xml dosyasını aldığını belirlemek için maven komut satırını nasıl kullanabilirim?
Yanıtlar:
Macen'i -X seçeneği (hata ayıklama) ile başlatın ve çıktının başlangıcını inceleyin. Bunun gibi bir şey olmalı:
...
[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
...
(Orijinal dizin adları tarafımdan kaldırılır)
Cletus'un (doğru) cevabına yaptığınız yorum, dahil edilen birden fazla Maven ayar dosyasının olduğunu ima eder.
Maven her zaman bir veya iki ayar dosyası kullanır. ($ {M2_HOME} /conf/settings.xml) içinde tanımlanan global ayarlar her zaman gereklidir. Kullanıcı ayarları dosyası ($ {user.home} /. M2 / settings.xml dosyasında tanımlanmıştır) isteğe bağlıdır. Kullanıcı ayarlarında tanımlanan ayarlar, ilgili global ayarlara göre önceliklidir.
Genel ve kullanıcı ayarlarının konumunu komut satırından geçersiz kılabilirsiniz, aşağıdaki örnekte genel ayarlar c: \ global \ settings.xml ve kullanıcı ayarları c: \ user \ settings.xml olarak ayarlanacaktır :
mvn install --settings c:\user\settings.xml
--global-settings c:\global\settings.xml
Şu anda Maven ile hangi kullanıcı ve genel ayar dosyalarının kullanıldığını belirleyen bir özellik veya araç bulunmamaktadır. Bu değerlere erişmek için MavenCli ve / veya DefaultMavenSettingsBuilder üzerinde değişiklik yaparak dosya konumlarını çözümlenmiş Settings nesnesine enjekte etmeniz gerekir.
Sen kullanabilirsiniz maven yardım eklentisi size kullanıcı ve genel ayarlar dosyalarının içeriğini anlatmak için.
mvn help:effective-settings
maven'den birleştirilmiş genel ve kullanıcı ayarlarını çıkarmasını isteyecektir .
Bu, Maven için yapılandırma dosyasıdır. İki düzeyde belirtilebilir:
Kullanıcı düzeyi. Bu settings.xml dosyası tek bir kullanıcı için yapılandırma sağlar ve normalde $ {user.home} /. M2 / settings.xml biçiminde sağlanır.
NOTE: This location can be overridden with the CLI option:
-s /path/to/user/settings.xml
Küresel düzey. Bu settings.xml dosyası, bir makinedeki tüm Maven kullanıcıları için yapılandırma sağlar (hepsinin aynı Maven kurulumunu kullandıkları varsayılarak). Normalde $ {maven.home} /conf/settings.xml biçiminde sağlanır.
NOTE: This location can be overridden with the CLI option:
-gs /path/to/global/settings.xml
M2_HOME
Küresel biri için ortam değişkeni. Bkz. Ayarlar Referansı :
settings
Elemansettings.xml
dosyası gibi çeşitli şekillerde Maven'in yürütme yapılandırmak değerler tanımlamak için kullanılan öğeleri içerirpom.xml
fakat herhangi bir projeye birlikte ya da bir izleyici dağıtılacak olmamalıdır. Bunlar, yerel havuz konumu, alternatif uzak havuz sunucuları ve kimlik doğrulama bilgileri gibi değerleri içerir. Settings.xml dosyasının yaşayabileceği iki konum vardır:
- Maven kurulumu:
$M2_HOME/conf/settings.xml
- Bir kullanıcının yüklemesi:
${user.home}/.m2/settings.xml
the former settings.xml are also called global settings, the latter settings.xml are referred to as user settings. If both files exists, their contents gets merged, with the user-specific settings.xml being dominant.
Maven'in istenen settings.xml dosyasını kullanıp kullanmadığını belirlemek için hızlı ve kirli bir yöntem, xml'sini geçersiz kılar ve settings.xml gerektiren bazı güvenli maven komutlarını çalıştırır.
Bu settings.xml dosyasını okursa Maven bir hata bildirir: "settings.xml okunurken hata ..."