Maven paketi çalışıyor ancak Intellij'in yapısı başarısız oluyor


91

Maven depomdaki yerel bir jar'e maven bağımlılığı olan bir JDK 1.7 projem var.

Projeyi Intellij kullanarak, bir sembolün bulunamaması gibi hatalarla oluşturamıyorum (sembol, paketleri yerel jar'den içe aktaran bir sınıftır)

Ancak 'mvn paketi' kullanarak projeyi başarıyla oluşturabilirim.

Çözüm aramak için çok zaman harcadım, zaten yaptığım şeyler:

  • Geçersiz önbellek
  • yerel jar bağımlılığını 'mvn clean install'
  • Intellij'in maven yapılandırmasında 'anlık görüntüleri otomatik yükle' olarak işaretlendi
  • Intellij'de reimpoted maven
  • Eşzamanlı

Bu hata daha önce birkaç kez olmuştu, ancak genellikle Intellij'i kapatmak ve / veya 'mvn clean install' işlemini yapmak hile yaptı.

Lütfen yardım et.


1
Maven deponuz IntelliJ ile doğru şekilde yapılandırılmış mı?
Ruchira Gayan Ranaweera

evet öyle, deponun yolu 'mvn yükle' kullandığımda güncellenen yol
Yarin Miran

3
Yerel jar, bir anlık görüntü mü yoksa bir kavanozun yayın sürümü mü? Jar bir anlık görüntü ise, ide için güncellemeyi zorlamak için intellij Maven ayarlarında 'Her zaman anlık görüntüleri güncelle' seçeneğini işaretlemelisiniz.
F.Geraerts

evet bu bir anlık görüntü, bu seçeneği zaten işaretledim. Ama yine de hiçbir şey değişmiyor :(
Yarin Miran

1
Ayarların Derleyici bölümünde, "harici derleme kullan" işaretli mi? Ve Harici derlemeyi kullan bölümünde, "Bağımlılık değişikliğinde yeniden oluştur modülü" seçeneği de işaretli mi?
F.Geraerts

Yanıtlar:


155

Bunun geç olduğunu biliyorum ama yürütmek mvn idea:ideasorunu çözüyor.


3
Bu, sadece başarısız olmasının nedeni değil, gerçek bir çözüm sunduğu için kabul edilen cevap olmalıdır. Tüm kabarıklıklarım!
Warkst

4
mvn idea:ideagüncel tutulmadı ve jetbrains tarafından korunmuyor
Sean

2
Bundan sonra mvn yüklemeyi yeniden çalıştırmak zorunda kaldım
Fabio F.

1
Bundan sonra projeyi yeniden inşa edin. Teşekkür ederim.
Duc Tran

2
Beni umutsuzluktan kurtardın. Seni öpmek istiyorum
Martin Bamford

29

Tüm .iml ve POM'unuzu silmeyi deneyin. Ardından, POM'unuzu kopyalayıp projenize tekrar yapıştırın ve yeniden açın ve yeniden içe aktarın.


13
Belki herhangi bir şeyi silmeden önce Maven Projesi görünümünde "tümünü yeniden içe
aktarmayı

3
Ben de .iml'yi silmek zorunda kaldım, yeniden içe aktarma maven düzeltmedi.
Daniel de Zwaan

1
@masoodg, çok teşekkür ederim! günümü kurtardın! Yalnızca yeniden içe aktarma işlemi yardımcı olmadı. Talimatlarını izledim ve bir cazibe gibi çalışıyor.
tabalin

İntellij Kapanış silme *.iml, *.iprve *.iwsproje kök dizinden dosyaları, daha sonra intellij yeniden açılması benim için sabit
theferrit32

16

.İml dosyamın ve pom'umun çakıştığını ve soruna neden olduğunu öğrendim.


1
Benim de benzer bir problemim var. Derleme tarihi eklentisiyle yapılandırmam var. Bu eklenti, "$ {maven.build.timestamp}" değerine sahip buildDate özelliğini gerektirir. IntelliJ bu pom'u ayrıştırmada sorun yaşıyor ve iml dosyası pom ile düzgün şekilde senkronize edilmiyor. BuildDate özelliğine yorum yaptığımda senkronizasyon iyi çalışıyor.
chalimartines

9
bunun nasıl düzeltileceğine dair herhangi bir ipucu? Intellij'in çalışmasını istiyorum, öyle görünüyor ki Netbeans her projeyi yönetiyor ... bu tam bir üretkenlik yok edici :( ...
Breno Salgado

1
Düzeltmenizin aynı olup olmadığını bilmiyorum, ancak IntelliJ'i IML dosyasını güncellemeye zorlamak için projeden çıkıp yeniden yüklemem gerekti (bazı yeni bağımlılıklar eklediğim için pom.xml'den yenilemedi)
SonarJetLens

1
'Nasıl', 'neden'den çok daha kullanışlıdır. Lütfen bu sorunu nasıl çözdüğünüzle ilgili bazı ayrıntılar ekleyin.
João Matos

2
IntelliJ'i kapattım. Sonra sildim C:\Users\USERNAME\.IntelliJIdea2017.2\system. Daha sonra, git clean -xdfsürüm bilgisi olmayan tüm dosyaları kaldırmak için kaynak dizininde bir yaptım ve projeyi tekrar içe aktardım. Artık bir cazibe gibi çalışıyor.
koppor

15

Benzer sorunlar yaşadığımda aramada ortaya çıkan ilk şey olduğundan (proje IntelliJ'de değil, mvn'de oluşturulur), çünkü başka birine yardımcı olabilir diye biraz daha ipucu eklemek.

Bunu yaptığımda, Windows ve Mac'te farklı bir düzeltmeydi.

Mac'te, ItellijIDEA / Preferences / Build, Execution, Deployment / Build Tools / Maven / Maven Home Directory'ye girdim ve onu birlikte gelen Maven yerine ayrı olarak yüklenen Maven'ımı kullanacak şekilde ayarladım. Tüm yapı sorunları ortadan kalktı.

Windows'ta, idea.log dosyasında SSL ile ilgili istisnalar görüyordum ve proje ağacımda Harici Kitaplıklar dalında yalnızca Java vardı. Diğer sitelere bakıldığında, IntelliJ, sistem yerine kendi özel JDK'sını kullanıyor gibi görünüyor (benim durumumda tam olarak aynı JDK sürümüne sahip olmama rağmen). Sistemim JDK, IntelliJ özel JDK'nın sahip olmadığı kurumsal Nexus sunucusu için anahtar deposunda yüklü sertifikalara sahip olduğundan, Nexus'tan dosya almaya çalışırken istisnalar atılıyordu. Bunun için çözüm, IntelliJ'den çıkmak, IDEA_JDK adlı bir ortam değişkenini, uygun sertifikalara sahip halihazırda kurmuş olduğum JDK'ya işaret edecek şekilde ayarlamak ve IntelliJ'i yeniden başlatmaktı. Tüm yapı sorunları ortadan kalktı.


En son IntelliJ 2016.3.5 ile Linux'ta aynı sorun - önce çalıştı, sonra bazı POM değişikliklerinden sonra senkronize oldu ve yalnızca Maven impl'yi değiştirmek yardımcı oldu, bu nedenle sadece Maven'i değiştirmek IntelliJ'de bir güncellemeyi tetikliyor olabilir. proje tekrar senkronize olacak ...
Gregor


5

IDE, derlemeleri yaparken kendi paketlenmiş Maven kopyasını kullanır. Terminaldeki maven IDE'den farklıysa, aynı olmasını istersiniz.

GOTO (Mac'te) - IntelliJ Idea -> Tercihler -> Build, Execution, Deployment -> Build Tools -> Maven. Maven Ana Dizininizin yolunu ayarlayın Terminalden kullandığınız Maven yolunu bulmak için, command yazın mvn -versionve bu, dir yolu da dahil olmak üzere bir dizi ayrıntıyı yazdırmalıdır. Bunu Maven Ana Dizinine koyun .

Güvende olmak için aynısını JDK konumu için de yapabilirsiniz

==== Bu tür sorunlara neden olabilecek Diğer Bazı Şeyler ===

Mvn paketi veya mvn temiz kurulum yapıları yapılıyorsa, IDE önbellekleriyle bir şeyler yapması gerekir. Diğer şeylerin yanı sıra, bu genellikle bu tür hatalarda yardımcı olur ->

Dosya -> Önbellekleri Geçersiz Kıl


4

Bu sohbete oldukça geç kaldığımı biliyorum, ancak başka birinin bu sorunla karşılaşması durumunda bunu göndermek istedim. Bunun olmasının bir başka nedeni de doğru depoya atıfta bulunmamanızdır. Intellij, kendi maven deponuzdaki sürüm yerine varsayılan olarak bir jar'ın paketlenmiş sürümünü alır. Bağlanan havuzun doğru olduğunu onaylayın.



3

Benim durumumda iml'im senkronize değildi, bu yüzden belirli modül için iml'yi sildim ve ardından maven seçeneği altında iml'yi yeniden oluşturmak için yok saymayan projeyi seçin


3

komut isteminden commnad'i çalıştırın: mvn idea:ideave projeye sağ tıklayın -> menüden bağımlılıkları yeniden içe aktarın


1

"sembol bulunamıyor", intellij'in "bağımlılığı" çözemediği anlamına gelir. Dolayısıyla, "Analiz Et" -> "Bağımlılıkları Analiz Et" i tıklayarak "Bağımlılık analizini" zorlayabilir ve ardından "Analiz Kapsamı" nı seçebilirsiniz.


1

Buradaki diğer cevaplardaki birçok değerli ipucu, sadece sorunum için işe yarayan çözümü eklemek istiyorum .

Yakın zamanda özel bir Maven deposu kullanmaya başladık mvn -s settings.xmlve Maven cmdline'ı çağırırken her zaman yapıyoruz . IntelliJ elbette özel depo hakkında bilgi sahibi değil, bu yüzden biraz yardıma ihtiyacı var.

Ayarlar -> Oluşturma, Yürütme, Dağıtım -> Oluşturma araçları -> Maven'e gidin ve "Kullanıcı Ayarları dosyası" seçeneğini geçersiz kılın.

görüntü açıklamasını buraya girin


1

Ben de aynı sorunu yaşadım. Şuraya gidin:

Dosya -> Proje Yapısı -> Modül . Modülünüzü seçin ve " Bağımlılıklar " sekmesinin altında , tüm maven bağımlılıklarının eklendiğinden emin olun.

Fikir düzenleyicide benzer bir sorun hakkında uyarıldığınızdan emin olmak için: "Bağımlılıklar sekmesinden" "Kaynaklar" a geçin ve src'nizi kaynak olarak işaretleyin.


0

Ben de aynı sorunu yaşadım. Fikir ayarlarında maven sürümünü 3.0.5'ten 3.0.4'e değiştirdim ve şimdi hepsi iyi çalışıyor. Bunun bana neden yardımcı olduğunu bilmiyorum.


0

Önbelleği geçersiz kılmayı, Maven'i kurulu sürüme değiştirmeyi denedim ve hiçbir şey işe yaramadı.

Yeni bir projenin kapatılması ve yeniden oluşturulması sorunu çözdü.


0

Projeyi kapattım ve kök pom'a tıklayarak tekrar içe aktardım (sadece klasör değil, pom dosyasının kendisi).


0

Yukarıdaki her şeyi neşe olmadan denedim. Ancak sonunda işe yarayan bir şey yaptım:

C: \ Users \ .IntellijJIdea2018.2'ye gittim ve tüm klasörü sildim.

IntelliJ için tüm ayarları ve önbelleği kaldırır. Projemi sıfırdan yeniden içe aktarmak zorunda kaldım, ancak basit bir kaldırma ve yeniden içe aktarma daha önce çalışmamıştı, ancak bu nihayet tekrar çalışmasını sağladı.


0

Gradle kullanıyorsanız, aşağıdaki komutu deneyin. Bu sorunumu çözdü

gradle cleanIdea idea


0

Bu basit prosedür herhangi bir risk olmaksızın yaklaşık 1 dakika sürer.

  • IntelliJ'i kapatın
  • YALNIZCA Sil .idea gibi IntelliJ belirli dosyaları / *, * .iml, sıra POM silme edildi Önerilen vb .settings, ama buna gerek IMHO değildir.
  • Ardından şunu kullanarak IntelliJ'de projeyi yeniden oluşturun: Dosya > Yeni> Mevcut Kaynaklardan Proje> adımları izleyin. Birden çok profili veya (aynı projeleri) İçe aktarmamaya dikkat edin.

0

.İdea klasörünü silin ve IDE'yi kapatın

IDE'yi tekrar açın ve yeni bir içe aktarma yapacak olan projeyi içe aktarın çünkü .IDEA klasörü daha önce tarafımızdan silindi.

Harici kitaplıklar modülünü kontrol edin ve gerekli bağımlılıklar ile doldurulmamışsa, maven settings.xml konumunun IDE'de doğru şekilde verilip verilmediğini kontrol edin.


0

Bahsedilmeyen bir ihtimal de var. Kitaplığı şuradan içe aktarırsanızcom.sun.* . Bu soruna da neden olacaktır.

Programlar ide'de çalıştırıldığında çalışır, bu sınıfların com.sun.*tümü jre/libdizinde olmasına neden olur , çalıştırıldığında yüklenecektir. Ancak çalıştırdığınızda mvn package, bu kitaplıklara java 1.6'dan beri oracle kısıtlaması nedeniyle erişilemez (bu kitaplıklar bir şekilde kullanımdan kaldırılmıştır). Bu sorunu çözmek için ekleyebilirsiniz

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <compilerArguments>
                        <verbose />
                        <bootclasspath>C:/Program Files/Java/jdk1.8.0_161/jre/lib/rt.jar</bootclasspath>
                    </compilerArguments>
                </configuration>
            </plugin>
        </plugins>
    </build>

cootclasspath'ı kendi yolunuzla değiştirmeyi unutmayın rt.jar

Daha Access restriction: The type XXX is not accessible due to restriction on required libraryfazla ayrıntı arayabilirsin .


0

Yapılandırılmış hatalı modüller varsa şu adımları uygulayın:

  • Proje Ayarlarına Git
  • Git Modüllere
  • Orada olmaması gereken modülleri silin

0
  1. Maven sekmesinden + 'ya tıklayın ve pom.xml' yi seçin
  2. Maven sekmesinden kaynakları ve belgeleri indir'e tıklayın
  3. Proje yapısında (proje dosyalarını / dizinlerini görüntüleyebileceğiniz yer) oluşturmaya çalıştığınız projeye sağ tıklayın ve Yapı Modülü Proje Adı'nı seçin.
  4. Çalıştır - Konfigürasyonları Düzenle sekmesinden + Uygulama Ekle ve aşağıdaki alanları doldurun: i. Ana Sınıf - Proje sekmesinden manuel olarak seçin, ana sınıfı seçin ii. Modülün sınıf yolunu kullanın - uygulama adını seçin iii. Komut satırını kısalt - sınıf yolu dosyası
  5. Şimdi uygulamayı çalıştırın.

0

Benim durumumda sorun farklı Project Java SDK sürümündeydi. Terminalden proje oluştururken, maven Java 8 kullandı ve IDEA'dan oluştururken Java 11 kullandı.

Dosya> Proje Yapısı ... seçeneğine gidin ve Proje Ayarları'nda Proje SDK'sını ihtiyacınız olan sürüme ayarlayın.


0

Benim için sorun, IntelliJ Java Compiler ayarlarında Ajc derleyicisinin seçilmesiydi . Onu Javac olarak değiştirdikten sonra her şey yolunda gitti.


0

Mac'te benim için, Intellij Idea Appication'ı bilgisayarımdan silerek ve ~ / Library / Application Support / JetBrains / IntelliJIdea2020.1 ~ / Library / Caches / JetBrains / IntelliJIdea2020.1'deki önbellek dosyalarını silerek çözdüm.

Sonra yeniden kurun, projemi açın ve başarıyla inşa edin!


0

Ben de aynı problemle karşılaştım. mvn clean packageKomutu terminalde başarıyla çalıştırabilirim ancak IntellJ'den çalıştırmada veya derlemede başarısız oluyorum. Aşağıdaki eylemleri yaptım ama hepsi başarısız oldu.

  • Geçersiz önbellek
  • koş mvn clean packageya damvn clean package terminalde
  • Intellij'in maven yapılandırmasında 'anlık görüntüleri otomatik yükle' olarak işaretlendi
  • Senkronize Et veya Yeniden Aktar
  • .İdea ve reimport projesi gibi IntellJ ile ilgili tüm dosyaları silin
  • tüm bağımlılık dosyalarını kaldırın ve ardından çalıştırın mvn clean package
  • Java sürümünü değiştirin veya IntellJ'de yerleşik Java kullanın
  • Çalıştırmak mvn idea:idea
  • Maven Ana Sayfasını Değiştir
  • src dizinini modül sekmesinde kaynak olarak işaretleyin

Çalıştığım son şey: Projedeki .idea ve .iml dosyalarını silin, tüm bağımlılık dosyalarını silin ve ardından IntellJ'yi bilgisayardan silin. IntellJ'yi yeniden yükledikten sonra projem başarıyla oluşturuldu. Keşke bunu çözmenin daha iyi bir yolunu bulabilseydim.

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.