Paksa Intellij IDEA untuk membaca ulang semua dependensi pakar

297

Bagaimana cara memaksa ide intellij untuk membaca ulang / memperbarui semua dependensi yang ditentukan dalam file pom?

kubek2k
sumber

Jawaban:

354

Tekan Ctrl+ Shift+ Auntuk menemukan tindakan, dan masukkan "masukkan kembali", Anda akan menemukan "Masukkan kembali Semua Proyek Maven".

Di Mac, gunakan + + Asebagai gantinya.

Jacky
sumber
1
Katakanlah saya memiliki 5 modul, semuanya berbasis maven, dalam satu proyek dan saya melakukan ini. Apakah perintah ini berlaku untuk semua modul, hanya yang dipilih, atau yang pertama dalam proyek saat dijalankan?
slartibartfast
Apakah ini sudah berubah? Saya tidak melihat pengimporan ulang pada 2017.1 di Maven
Winnemucca
1
@ Wininnucca saya baru saja melakukannya pada 2017.2. Menunggu itu selesai sekarang.
mrClean
1
Saya harus mengaktifkan plugin Maven untuk melakukan ini.
codefreak
1
@ Wininnucca Anda dapat mengklik kanan pada pom, pergi ke Maven di drop down, dan pilih Reimport.
jones-chris
125

Buka tab / jendela "Maven Projects" dan klik "Reimport All Maven Projects" di sudut kiri atas mulai memuat ulang semua dependensi dari repositori mereka. Bilah status menginformasikan tentang proses.

Apa yang membuat Anda berpikir bahwa ini tidak berfungsi dengan benar? Mungkin salah satu dari dependensi tidak dapat dimuat dari repositori?

magomi
sumber
1
kami memiliki kebiasaan yang rusak menggunakan versi non-snapshot untuk pengembangan yang sedang berjalan, dan dependensi lintas-proyek terkadang gagal.
kubek2k
1
Saya khawatir masalah ini tergantung pada pakar. Maven hanya memeriksa pembaruan di SNAPSHOT. Per definisi, versi non-SNAPSHOT tidak akan pernah berubah sehingga maven tidak perlu memeriksa versi yang lebih baru daripada ini di repositori lokal. Solusi (sangat kasar) adalah dengan menghapus perpustakaan dari repositori lokal sebelum memanggil pakar. Maka harus memuat ulang perpustakaan.
magomi
9
tampaknya mengimpor kembali semua kekuatan bendera -U apa yang saya inginkan :)
kubek2k
Saya mengklik kanan proyek induk dan melakukan Maven -> Reimport dan berharap itu akan memperbarui dependensi semua anak, tetapi ternyata tidak. Terima kasih atas solusinya!
botchniaque
6
Untuk menemukan tab / jendela "Proyek Maven", buka Lihat> Alat Windows> Proyek Maven
Kevin Wheeler
64

Ada juga satu pengaturan berguna yang memberi tahu IntelliJ untuk memeriksa versi dependensi baru meskipun nomor versi tidak berubah. Kami memiliki repositori pakar lokal dan proyek snapshot yang diperbarui beberapa kali tetapi nomor versi tetap sama. Masalahnya adalah IntelliJ / Maven tidak memperbarui proyek ini karena nomor versi tetap.

Untuk mengaktifkan pemeriksaan dependensi yang diubah meskipun nomor versi tidak berubah buka tab "Proyek Maven", pilih "Pengaturan Maven" dan aktifkan "Selalu perbarui foto".

Björn Jacobs
sumber
2
Ha! pembaruan otomatis dalam proyek JAWA ... Saya harus mengatakan bahwa ini TIDAK selalu menjadi pemenang ... dan bahkan mungkin tidak disukai w / Maven 3+
beauXjames
@beauXjames .. ini tidak berhasil untuk saya tetapi saya persis menghadapi masalah yang sama. bagaimana mengatasinya.
Sathesh
1
Saya sering masuk ke direktori repo ({user} \. M2 \ ...) lokal dan menghapus yang saya tahu terkait dengan proyek saya kemudian biarkan proses instal keluar dan mengambilnya lagi dari awal sehingga tidak ada konflik versi
beauXjames
Dari help: "Pilih kotak centang ini, jika Anda ingin IntelliJ IDEA memperbarui foto yang disinkronkan." Dengan kata lain, ini tidak sepenuhnya otomatis - Anda harus Synchronize(dalam menu klik kanan atau Ctrl-Alt-Y), tetapi mengaktifkan opsi ini menyebabkannya mengambil SNAPSHOTversi yang diperbarui . PERINGATAN: Mungkin ada seluk-beluk lain yang terlibat, seperti Import Changes- sejauh ini sepertinya tidak bisa direproduksi dengan sempurna untuk saya. Mungkin itu semua dalam imajinasiku - yang sepertinya selalu berfungsi adalah penuh reimportseperti yang disarankan dalam jawaban lain.
nobar
36

Untuk IntelliJ IDEA 14.0

Project> [nama proyek Anda]> klik kanan> Maven> Reimport

teejay
sumber
17

Jika pengimporan ulang tidak berfungsi (mis. Tidak menghapus versi lama dari dependensi setelah pembaruan pom), ada satu kesempatan lagi:

  • buka pengaturan proyek (CTRL + SHIFT + ALT + S)
  • pada modul, hapus semua lib yang ingin Anda masukkan kembali (mis. duplikat)
  • IDEA akan memperingatkan bahwa beberapa masih digunakan, konfirmasi
  • Terapkan dan pilih OK
  • kemudian masukkan kembali semua proyek pakar.
Andreas Dolk
sumber
16

Tombol paling kiri (siklus biru) di bawah ini juga mengembalikan semua proyek pakar:

masukkan deskripsi gambar di sini

Umut Uzun
sumber
9

jalankan perintah ini mvn -U clean install

Babajide Apata
sumber
3
Meskipun ini merupakan solusi, itu perlu dilakukan dari CLI. Pertanyaannya adalah tentang melakukannya dari dalam IDEA.
talonx
pada IDE, Anda dapat menjalankan tujuan maven dan menggunakan perintah di atas tanpa Anda membuka CLI atau Terminal Anda
Babajide Apata
2
Jenis-jenis itu mengalahkan tujuan memiliki integrasi pakar dalam IDEA.
talonx
1
Kita berbicara tentang opsi -U, yang tidak ada dalam IDEA. Opsi "Reimport" terdengar seperti itu, tetapi ternyata tidak.
talonx
1
Saya melihat bahwa Anda mengacu pada mengetik dan mengeksekusi gol pakar, dalam hal ini mungkin. Namun, saya merujuk ke -U tidak hadir di menu bawaan di sebelah kanan ("Proyek Maven").
talonx
3

Saya memiliki masalah ketika IntelliJ tidak dapat mengkompilasi kelas, mengklaim bahwa ketergantungan antara proyek hilang. Mengimport ulang proyek seperti yang disarankan dalam jawaban pertanyaan ini tidak menyelesaikan masalah. Solusi bagi saya, adalah:

  1. hapus semua proyek (tab proyek / klik kanan pada folder root / pakar / hapus proyek);
  2. tutup editor;
  3. kompilasi semua proyek dengan pakar di baris perintah;
  4. buka editor pada proyek yang sama;
  5. tambahkan proyek ke maven lagi (tab maven / tambahkan proyek maven (hijau +) / pilih pom root);

PERINGATAN: pada beberapa proyek, Anda mungkin harus menambah memori maks untuk impor pakar (pengaturan pakar pada tab pakar / opsi Impor / VM untuk importir).

Manuel Romeiro
sumber
3

Pengaturan> Maven> Selalu perbarui foto

nobjta_9x_tq
sumber
0

Jika Anda menggunakan rentang versi untuk setiap dependensi, pastikan IntelliJ menggunakan Maven 3 untuk mengimpor proyek. Anda dapat menemukan pengaturan ini di: Settings > Maven > Importing > Use Maven3 to import project. Kalau tidak, Anda mungkin menemukan bahwa versi SNAPSHOT tidak diimpor dengan benar.

vegemite4me
sumber