Saya sedang mengerjakan proyek dengan ketergantungan X. X, pada gilirannya, bergantung pada Y.
Saya dulu secara eksplisit menyertakan Y di pom proyek saya. Namun, itu tidak digunakan dan untuk membuat semuanya lebih bersih, saya malah menambahkannya ke pom X sebagai ketergantungan. X ditandai sebagai ketergantungan rilis.
Masalahnya adalah setelah menghapus Y dari pom proyek saya dan menambahkannya ke pom X, proyek saya tidak dapat dijalankan mvn -U clean package
. Saya tahu -U memperbarui snapshot tetapi tidak rilis.
Jadi, tanpa menghapus ~ / .m2 / direktori repositori bagaimana saya bisa memaksa mengunduh ulang X's pom? Juga, saya mencoba berlari dependency:purge-local-repository
dan tidak berhasil juga.
X
pom, maka itu harus merupakan rilis baru, meskipun itu hanya perubahan nomor patch:1.3
->1.3.1
. Jadi, itu akan menghilangkan masalah ini dari awal.Jawaban:
Anda tidak dapat membuat Maven mengunduh ulang dependensi, tetapi yang dapat Anda lakukan adalah membersihkan dependensi yang salah diunduh menggunakan
mvn dependency:purge-local-repository
Lihat: http://maven.apache.org/plugins/maven-dependency-plugin/purge-local-repository-mojo.html
sumber
mvn dependency:purge-local-repository clean package
, mungkin satu proyek menghapus ketergantungan yang sama di repositori lokal sementara proyek lain sedang menjalankan kompilasi. Bagaimana cara menghindarinya?Saya baru saja menghapus ~ / .m2 / repositori saya dan itu memaksa pengunduhan ulang;)
sumber
Saya pikir perintah berikut dapat membantu Anda!
sumber
Terima kasih atas jawaban Ali Tokmen. Saya berhasil menghapus paksa ketergantungan lokal tertentu dengan perintah berikut:
Dengan ini, ini menghapus
utils
dari .m2 / repositori saya dan selalu mengunduh ulangutils
ketergantungan JAR ketika saya menjalankanmvn clean install
.sumber
Proyek klik kanan-> Maven -> Perbarui Proyek dan centang kotak centang seperti pada tangkapan layar. Ini akan memperbarui rilis juga :)
sumber
-U berarti pembaruan paksa ketergantungan.
Jika Anda ingin memperbarui satu dependensi tanpa clean atau -U, Anda bisa menghapusnya dari repo lokal dan kemudian membangunnya.
sumber
Ketika Anda menambahkannya ke X, Anda harus menambah nomor versi X yaitu X-1.2
Kemudian X-1.2 seharusnya sudah diinstal / disebarkan dan Anda harus mengubah ketergantungan proyek Anda pada X agar bergantung pada versi baru X-1.2
sumber
Jika Anda mengetahui id grup
X
, Anda dapat menggunakan perintah ini untuk mengunduh ulang semuaX
dan dependensinyaItu melakukan hal yang sama seperti jawaban lain yang mengusulkan penggunaan
dependency:purge-local-repository
, tetapi hanya menghapus dan mengunduh ulang semua yang terkaitX
.sumber
Jika Anda benar-benar ingin mengunduh paksa semua dependensi, Anda dapat mencoba menginisialisasi ulang seluruh repositori maven. Seperti di artikel ini sudah dijelaskan, Anda dapat menggunakan:
sumber
Hapus saja ~ / .m2 / repository ..... / actual_path di mana LOC yang tidak valid datang karena memaksa untuk mengunduh ulang file jar yang dihapus. Jangan hapus seluruh folder repositori, tetapi hapus folder tertentu dari mana kesalahan itu datang.
sumber
Menghapus surat
~/.m2/repository
wasiat akan menyelesaikan masalah Anda. Tapi, jika Anda masih ingin mempertahankan yang lama~/.m2/repository
Anda bisa mengubah jalur lokal maven untuk sementara.Jika Anda bekerja di IntelliJ, buka Pengaturan Maven dan ubah jalur Repositori Lokal ke tempat lain. Anda mungkin perlu mencentang kotak centang ganti di dekat sana.
sumber
Sebagian besar jawaban yang diberikan di atas akan menyelesaikan masalah.
Tetapi jika Anda menggunakan IntelliJ dan ingin memperbaikinya secara otomatis, buka Pengaturan Maven.
Build, Execution, Deployment -> Build Tools -> Maven
Nonaktifkan Bekerja Offline
Aktifkan Selalu perbarui snapshot (Beralih saat diperlukan)
sumber
Pergi ke jalur pembangunan ... hapus pustaka maven yang sudah ada u tambah ... klik tambah pustaka ... klik maven managed dependencies ... lalu klik pengaturan proyek maven ... centang kotak centang selesaikan dependensi maven..itu akan mengunduh semua ketergantungan maven
sumber