Apakah mungkin untuk mengatur lokasi repositori Maven lokal sebagai argumen pada baris perintah Maven?
Masalahnya adalah saya tidak menggunakan yang default di ~/.m2/repository
. Namun saya memeriksa beberapa proyek yang sedang dibangun dengan pengaturannya sendiri -s settings.xml
. Setting.xml itu tidak menentukan repositori lokal saya, jadi Maven menggunakan kegunaan ~/.m2/repository
lagi ... Saya ingin menggunakan lokasi repositori lokal non-default tanpa harus menambahkan <localRepository>
elemen dalam settings.xml proyek
Saya sudah mencoba
-DlocalRepository="..."
$mvn invoker:run -s settings.xml clean install -DskipTests -DlocalRepositoryPath=
-Dsettings.localRepository
tetapi tidak satu pun dari opsi ini yang berfungsi.
Jadi saya pikir saya harus memutuskan apakah saya akan memodifikasi pengaturan pihak ketiga.xml atau memindahkan repo lokal saya ke ~
settings.xml
. Lihat maven.apache.org/guides/mini/guide-configuring-maven.htmlJawaban:
gunakan properti pakar
maven.repo.local
:mvn -Dmaven.repo.local=$HOME/.my/other/repository clean install
Tidak
settings.xml
diperlukan modifikasi .sumber
Untuk git:
Ini menggunakan repositori maven terpisah di setiap repositori git
sumber
Salah satu jenis cara hack yang akan berhasil adalah:
<localRepository>${m2.localRepository}</localRepository>
ke pengaturan Anda.xml-Dm2.localRepository=<full path to home dir>/.m2/repository
sebelum "$ @" pada perintah yang dijalankan. Ini akan membuat repo lokal default Anda tetap di tempatnya.mvn -Dm2.localRepository=... <phases/goals>
. Karena properti sistem baris perintah Anda akan ditambahkan ke baris perintah setelah yang ada di skrip mvn, itu akan diutamakan. (Setidaknya saya cukup yakin itu bekerja seperti itu di kedua windows dan linux, tetapi pengujian akan memberitahu.)sumber