Intellij IDEA'yı tüm bağımlı bağımlılıkları tekrar okumaya zorlama


298

Intellij fikrini pom dosyasında belirtilen tüm bağımlılıkları tekrar okumaya / güncellemeye nasıl zorlarım?

Yanıtlar:


355

Eylemleri bulmak için Ctrl+ Shift+ tuşlarına basın Ave "yeniden içe aktar" komutunu girin, "Tüm Maven Projelerini Yeniden İçeri Aktar" ı bulacaksınız.

Mac'te bunun yerine + + Akullanın.


1
Diyelim ki hepsi tek bir projede, hepsi maven tabanlı 5 modülüm var ve bunu yapıyorum. Bu komut tüm modüller için mi, sadece seçili modda mı, yoksa projedeki ilk modunda mı?
slartibartfast

bu değişti mi? Maven'de 2017.1'de bir reimport görmüyorum
Winnemucca

1
@Winnemucca 2017'de yeni yaptım. Şimdi bitmesini bekliyorum.
mrClean

1
Bunu yapmak için Maven eklentisini etkinleştirmem gerekiyordu.
codefreak

1
@Winnemucca pom'a sağ tıklayabilir, açılır menüden Maven'e gidebilir ve Reimport'u seçebilirsiniz.
jones-chris

126

"Maven Projeleri" sekmesini / penceresini açın ve sol üst köşedeki "Tüm Maven Projelerini Yeniden İçe Aktar" ı tıkladığınızda, tüm bağımlılıklar depolarından yeniden yüklenmeye başlar. Durum çubuğu işlem hakkında bilgi verir.

Bunun düzgün çalışmadığını düşünmenizi sağlayan nedir? Belki bağımlılıklardan herhangi biri depodan yüklenemez?


1
devam eden geliştirme için anlık görüntü olmayan bir sürümü kullanma alışkanlığımız kırıldı ve projeler arası bağımlılıklar bazen başarısız oluyor.
kubek2k

1
Korkarım bu problem maven'e bağlı. Maven yalnızca SNAPSHOT'lardaki güncellemeleri kontrol eder. Tanım başına, SNAPSHOT olmayan sürümler hiçbir zaman değişmeyecektir, bu nedenle maven yerel depodaki bundan daha yeni sürümleri kontrol etmek zorunda değildir. (Çok kaba) bir çözüm, maven çağırmadan önce yerel depodan kütüphaneyi kaldırmak olacaktır. Sonra kitaplığı yeniden yüklemesi gerekir.
magomi

9
Görünüşe göre yeniden ithal tüm -U bayrağını ne istediğimi
zorladı

Ana projeye sağ tıklayıp Maven yapıyordum -> Reimport ve tüm çocukların bağımlılıklarını güncelleyeceğini umuyordum, ama olmadı. Çözüm için teşekkürler!
botchniaque

6
"Maven Projects" sekmesini / penceresini bulmak için Görünüm> Araç Pencereleri> Maven Projects
Kevin Wheeler

64

Sürüm numaralarında değişiklik olmasa bile IntelliJ'e bağımlılıkların yeni sürümlerini kontrol etmesini söyleyen kullanışlı bir ayar da vardır. Yerel bir maven depomuz ve birkaç kez güncellenen bir anlık görüntü projemiz vardı, ancak sürüm numaraları aynı kaldı. Sorun, IntelliJ / Maven'in sabit sürüm numarası nedeniyle bu projeyi güncellememesiydi.

Sürüm numarası değişmese de değişen bağımlılığın kontrolünü etkinleştirmek için "Maven Projects" sekmesine gidin, "Maven settings" i seçin ve "Anlık görüntüleri her zaman güncelle" seçeneğini etkinleştirin.


2
Ha! bir JAVA projesinde otomatik güncellemeler ... Bunun her zaman kazanan olmadığını söylemek zorundayım ... ve Maven 3+ ile kaşlarını bile
çatmış olabilir

@beauXjames .. Bu benim için işe yaramadı ama ben tam olarak aynı sorunla karşı karşıyayım. bu nasıl çözülür.
Sathesh

1
Genellikle yerel repo ({user} \. M2 \ ...) dizinine
giriyorum ve projemle ilişkili olduğunu bildiğimleri siliyorum

Kimden help: "IntelliJ IDEA'nın senkronizasyon sırasında anlık görüntüleri güncellemesini istiyorsanız bu onay kutusunu seçin." Başka bir deyişle, tam otomatik değildir - yapmanız gereken Synchronize(sağ tıklama menüsünde veya Ctrl-Alt-Y), ancak bu seçeneğin etkinleştirilmesi güncellenmiş SNAPSHOTsürümleri almasına neden olur . UYARI: İlgili başka incelikler olabilir, örneğin Import Changes- bu benim için şimdiye kadar mükemmel bir şekilde tekrarlanabilir gibi görünmüyor. Belki de hepsi benim hayal gücümdeydi - her zaman işe yarayan şey reimportdiğer cevaplarda önerildiği gibi doludur .
nobar

36

IntelliJ IDEA 14.0 için

Proje> [proje adınız]> sağ tıklayın> Maven> Yeniden içe aktar


17

Yeniden içe aktarma işe yaramazsa (yani bir pom güncellemesinden sonra eski bağımlılık sürümlerini kaldırmazsa), bir şans daha vardır:

  • proje ayarlarını açma (CTRL + ÜST KRKT + ALT + S)
  • modüllerde, yeniden içe aktarmak istediğiniz tüm kütüphaneleri silin (örneğin, kopyalar)
  • IDEA bazılarının hala kullanıldığını uyaracak, onaylayın
  • Uygula ve Tamam'ı seç
  • daha sonra tüm maven projelerini yeniden içe aktarın.

16

Aşağıdaki en soldaki düğme (mavi döngü) tüm maven projelerini yeniden içe aktarır:

resim açıklamasını buraya girin


9

bu komutu çalıştır mvn -U clean install


3
Bu bir çözüm olsa da, CLI'den yapılması gerekir. Soru, bunu IDEA içinden yapmakla ilgili.
talonx

IDE'de, bir maven hedefi yürütebilir ve CLI veya Terminalinizi açmadan yukarıdaki komutu kullanabilirsiniz
Babajide Apata 19:18

2
Bu tür yenilgiler, IDEA'ya maven entegrasyonunu sağlama amacını yendi.
talonx

1
IDEA'da bulunmayan -U seçeneğinden bahsediyoruz. "Yeniden içe aktar" seçeneği olduğu gibi geliyor, ancak öyle değil.
talonx

1
Bir maven hedefi yazmaya ve yürütmeye atıfta bulunduğunuzu görüyorum, bu durumda mümkün. Ancak, sağ taraftaki yerleşik menüde ("Maven Projects") bulunmayan -U'dan bahsediyordum.
talonx


3

IntelliJ'in sınıfları derleyemediği bir sorun yaşadım ve projeler arasındaki bağımlılıkların eksik olduğunu iddia ettim. Bu sorunun cevaplarında önerildiği gibi projeyi yeniden içe aktarmak sorunu çözmedi. Benim için çözüm şuydu:

  1. tüm projeleri kaldır (proje sekmesi / kök klasöre sağ tıklama / maven / projeleri kaldır);
  2. editörü kapatın;
  3. maven ile tüm projeleri komut satırında derleyin;
  4. aynı projede editörü açın;
  5. projeleri tekrar maven'e ekleyin (maven sekmesi / maven projeleri ekleyin (yeşil +) / kök pomunu seçin);

UYARI: bazı projelerde, maven içe aktarma için maksimum belleği artırmanız gerekebilir (maven sekmesinde maven ayarları / İthalatçı için İçe Aktarma / VM seçenekleri).


0

Herhangi bir bağımlılık için sürüm aralıkları kullanıyorsanız, IntelliJ'in projeyi içe aktarmak için Maven 3'ü kullandığından emin olun. Sen bu ayarı bulabilirsiniz: Settings > Maven > Importing > Use Maven3 to import project. Aksi takdirde, SNAPSHOT sürümlerinin doğru şekilde içe aktarılmadığını görebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.