Eclipse projesinde eksik Maven bağımlılıkları


108

Bağımlılıkları çözmek için maven ile bir projemiz var. Genellikle iyi çalışıyor, ancak şimdi onu yeni bir bilgisayarda derlemeye ve çalıştırmaya çalışıyorum ve Eclipse'de eksik bağımlılıklarla ilgili sorun yaşıyorum.

Komik olan, konsolda veya tutulmada "mvn paketi" çalıştırırsam iyi çalışıyor ve hatta gerekli tüm kavanozları içeren savaş üretiyor. Yalnızca Eclipse "Derleme yolu eksik olduğu için proje inşa edilmedi. Org.slf4j.Logger ... için sınıf dosyası bulunamıyor ..." ile şikayet ediyor. Projeyi başka bir bilgisayarla karşılaştırırsam (projenin iyi çalıştığı yerde), Eclipse'de "Maven bağımlılıkları" listesinde eksik olan birkaç kitaplık olduğunu fark ettim. Her ne kadar paketlenmiş savaşta olsalar da depo klasörü altında da bulunabilirler.

Yani, kavanozlar orada sadece Eclipse hepsini "Maven bağımlılıkları" altında listelemeyecek. Ne yapabilirim?

Bilgisayar Windows 7'de 64bit java ve tutulma ile çalışıyor.


Jira.codehaus.org/browse/MNG-2045 gibi bir kapsam sorunu mu?
VonC

1
Bu bir cevap göndermeye değmez, ancak gelecekte bunu okuyan biri için joker karakter kullanmadan en az üç karakter yazmanız gerekiyor gibi görünüyor. Örneğin, "t" veya "to" yazmak herhangi bir sonuç göstermez, ancak "tom" görünür. İster inanın ister inanmayın, bunu fark etmeden önce farklı nedenleri araştırmak için yaklaşık bir saat harcadım.
Chris Neve

Yanıtlar:


118

Burada yayınlanan her şeyi denedim, maalesef benim durumumda hiçbir şey işe yaramıyor. Yani, farklı kombinasyonları denemek sorunumu çözen bununla çıktım.

1) Tutulma projenizin kökünde .classpath dosyasını açın .

2) Aşağıdaki girişi dosyaya ekleyin:

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
            <attribute name="org.eclipse.jst.component.nondependency" value=""/>
        </attributes>
</classpathentry> 

Ardından, tutulmada projenizi yeniden oluşturun (Proje-> Temizle-Oluştur). Artık Maven Bağımlılıklarının dahil olduğu Kitaplıklar sekmesinde projenizin Java Derleme Yolunu kontrol edebilirsiniz: görüntü açıklamasını buraya girin


3
Bu herkesin denemesi gereken ilk şey. Proje dizininizde olacak .classpath dosyasını not defteri ile açın ve belirtilen satırları ekleyin ve projenizi yenileyin.
Amit Kumar

9
Bu, her şeyin başarısız olduğu yerde çalıştı. Ama bunu oluşturduğum her proje için yapmak zorunda mıyım? Neden otomatik olarak çalışmıyor? Asıl sorun nedir?
yeaaaahhhh..hamf hamf

Ah, bu hala m2e 1.6.2.20150902-002'de bozuk. Mac OS X / JDK 1.8'de yeni bir vanilya Eclipse yüklemesiyle test edilmiştir. Java Geliştiricileri için Eclipse IDE Sürüm: Mars.2 Sürüm (4.5.2) Yapı kimliği: 20160218-0600 Bu eklentinin düzgün çalışması için Eclipse Java EE gerektirip gerektirmediğini merak ediyorum?
Mat Gessel

1
bu cevap ilk cevap olmalıdır.
İşe yarayan

1
Büyü! Eclipse 4.4.2
versvs

89

Sorun çözüldü!

Tam olarak neyin çözdüğünü bilmiyorum ama Eclipse'de 4 şey yaptım:

  • Pencere-> Tercihler: Maven-> Kurulumlar: Global ayarlar -> açık dosya ve sabit kodlanmış localRepository
  • Proje-> Temizle
  • projeye sağ tıklayın: Maven-> Bağımlılıkları güncelle
  • projeye sağ tıklayın: Maven-> Proje yapılandırmasını güncelle

Sanırım güncelleme bağımlılıklarıydı, çünkü ilk ikisinden hemen sonra değişiklik olmadı.


2
"Proje-> Temizle" yi biliyorum ve denedim ama ilk başta yardımcı olmadı.
hostnik

7
Son nokta buydu. Güncelleme proje yapılandırması, projenize bir "Maven Bağımlılıkları" kitaplığı ekleyecektir.
Eduard Wirch

2
Bilginize, önce projeme sağ tıklayıp Yapılandır ve "Maven projesine dönüştür" seçeneğine gitmem gerekiyordu.
duma

2
Eduard Wirch'in cevabını genişleterek, Maven-> Projeyi Güncelle ... penceresinde bulunan "Anlık Görüntülerin / Sürümlerin Güncellemesini Zorla" kutusunu da kontrol etmem gerekti. Eksik yapıtım bir Snapshot'tı ve bir şekilde onu zorlamadan iyi bir şekilde güncellenmiyordu.
evaldeslacasa

1
Kullanıcı Ayarlarının 'settings.xml' kısmını '.m2' dizinimin altındaki olacak şekilde değiştirmem gerekiyordu. Daha önce Maven kurulum dizini altında bire ayarlanmıştı.
Jack Straw

35

Ayrıca Eclipse'de yeniyim ve benzer bir sorun yaşıyorum, tüm işaretler bağımlılığın başarıyla indirildiğini gösterse de, Eclipse bir import ifadesini tanımıyor.

Bağımlılık dosyanızın gerçekten indirilip indirilmediğini komut satırına gidip yazarak kontrol etmelisiniz.

mvn dependency:tree

Paketinizi orada görürseniz, ancak Eclipse bunu kabul etmezse, benim için işe yarayan şey (bazen) terminale gitmek, proje klasörüne cd yazmak ve

mvn eclipse:clean sonra mvn eclipse:eclipse

Sonunda tutulmada projeyi yenile

Bunun neden işe yaradığını bilmiyorum ve bazen bir kez işe yaramıyor, sonra tekrar yapmak işe yarıyor ... bu yüzden denemeye değer!


Bu, settings.xml dosyamla ilgili sorunlar olduğunu göstererek beni doğru yönde gösterdi! Teşekkürler @rogueleaderr!
slashp

evet, arkadaşım için çalıştı, tüm sorunlarını ve baş ağrılarını çözdü. Ne yazık ki benim için çalışmadı.
Zack Zilic

Benim için de işe yaradı ama biri sahne arkasında neler olduğunu açıklayabilir mi?
YouAreAwesome

Benim için çalışıyor. Mükemmel düzeltme.
Ramaraj Karuppusamy

31

Projem sadece alt üst oldu. Eclipse Indigo x64 (J2EE 3.7.3) için bunu şu şekilde düzelttim:

  1. POM dosyamı sildim (elbette yedeklendi).
  2. Proje Bağlam Menüsü > Maven > Maven Nature'ı Devre Dışı Bırak .
  3. Proje silindi (ancak diskteki içerik değil).
  4. İçe Aktar > Genel > Mevcut Proje olarak yeniden içe aktarıldı .
  5. Proje Bağlam Menüsü > Yapılandırma > Maven Projesi dönüştürün ... .
  6. Maven sihirbazından varsayılanları kabul edin.
  7. Yedeklenen POM'unuz ile POM'un üzerine yazın. (Artık Maven Bağımlılıkları klasörünüz var ).
  8. İyi bir önlem için Maven Update / Clean.

Umarım bu birine yardımcı olur. :)


Bu bana yardımcı oluyor! Neyin yanlış olduğunu bilmiyorum ama 64-bit Juno / Springsource 3 kullanıyorum ve Maven projelerimi her zaman doğru şekilde içe aktaramıyorum. Normal bir proje olarak kontrol edersem, POM'umu yeniden adlandırırsam, ardından 5. adımdan itibaren talimatlarınızı takip edersem, işe yarar. Aksi takdirde, denediğim hiçbir şey Maven bağımlılıklarını komut satırı dışında projeme ekleyemez mvn eclipse:eclipseki bu çok kötü.
ngreen

Bunu yaptım ama hala maven bağımlılıkları klasörüm yok. İşte pom.xml dosyam ve sanırım bu sorunu bu yüzden yaşıyorum: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>antlr.tuto.calco</groupId> <artifactId>CalculatriceAntlr</artifactId> <version>0.0.1-SNAPSHOT</version> </project>
Anatch

Sorunun nerede olduğunu gerçekten bilmiyorum ama yukarıdaki adımları takip ettim ve gerçekten iyi çalışıyor. Sınıf bulunamadı, xml dtd bulunamadı gibi hatalara neden olur. Ama şimdi çözüldü. Sağol kanka. Olumlu oy verin.
Sagar007

29

Diğer projelerde oluşturulan bağımlılıklar için bu sorunu yaşadım. İndirilen üçüncü taraf bağımlılıkları, oluşturma yolunda iyi görünüyordu, ancak benim oluşturduğum bir kitaplık değildi.

SOLUTION: Doğru inşa edilmeyen projede,

  • Projeye sağ tıklayın ve Özellikler'i ve ardından Maven'i seçin.

  • Etiketli kutunun "işaretini kaldırın Çalışma Alanı projelerden Çöz bağımlılıkları "

  • Uygula'ya ve ardından Tamam'a basın.

  • Projenize tekrar sağ tıklayın ve Maven-> Anlık Görüntüleri Güncelle (veya Bağımlılıkları Güncelle) yapın

Ve projeniz yeniden oluşturulduğunda hatalarınız kaybolmalıdır (otomatik oluşturmayı etkinleştirdiyseniz otomatik olarak).


Teşekkürler, bu benim sorunumu çözdü. Eclipse böceği olduğuna işaret ediyor gibi görünüyor.
Scott McIntyre

1
Hey, Maven-> Anlık Görüntüleri Güncelle (veya Bağımlılıkları Güncelle) diye bir şey yoktur. Sağ tıklama yaparsam Maven seçeneği yok mu? Tarif ettiğiniz şey nerede bulunur? Bakıyorum ama Uygula
düğmesine bastıktan

1
@DarioBB Bu cevap yaklaşık 5 yaşında. Eclipse'de bir yıldan fazla süredir çalışmadım. Bu seçeneğin hala mevcut olup olmadığı hakkında hiçbir fikrim yok. En son sürümde olmayabilirim.
IceBox13

1
Bu çözüm Eclipse neon'da benim için çalıştı. Daha sonra Maven Yap> Projeyi Güncelle (Anlık Görüntüleri Güncelleme değil).
Ivana

9

Burada yayınlanan her şeyi denedim, maalesef benim durumumda hiçbir şey işe yaramıyor. Yani, farklı kombinasyonları denemek sorunumu çözen bununla çıktım.

1) Tutulma projenizin kökünde .classpath dosyasını açın .

2) Aşağıdaki girişi dosyaya ekleyin:

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
            <attribute name="org.eclipse.jst.component.nondependency" value=""/>
        </attributes>
</classpathentry> 

Ardından, tutulmada projenizi yeniden oluşturun (Proje-> Temizle-Oluştur).


Teşekkürler! bu çözüm benim için en iyi şekilde çalıştı, sadece bir düzeltme zordu, projeyi kapatıp yeniden açmak zorunda kaldım.
Tarun Gupta

Olağanüstü. Bu benim için de çalıştı. Projemde maven bağımlılıklarını göremedim. Şimdi görünür ve inşa yoluna eklendi. Teşekkürler!
Tahir Mehmood

7

Herhangi birinin diğer tüm seçenekleri denemesi ve hala takılıp kalmanız durumunda, proje klasörüne sağ tıklamayı deneyin, Maven seçeneğine gidin ve "bağımlılık ekle" düğmesini tıklayın. Eclipse, ilk denemede bazı nedenlerden dolayı bağımlılıkları pom.xml'den manuel olarak güncellemiyor .

menü seçiminin ekran görüntüsü


5

Benzer bir problemim vardı. Maven-> Proje Yapılandırmasını Güncelle eylemini çalıştırarak çözdüm


5

Benim için sorun maven myMavenFolder \ conf dizininde bulunan settings.xml dosyasını bulamadı .

Sorunu düzeltmek için yaptığım şey, eclipse'den settings.xml dosyasının doğru konumunu seçmekti:
Pencere -> Tercihler -> Maven -> Kullanıcı Ayarları

Son olarak, uygula'ya basın ve projenizi güncelleyin


4

Bu yüzden bu partiye yaklaşık 4 veya 5 yıl geç kaldım, ancak bu sorunu depomuzdan çıkardıktan sonra yaşadım ve bu konudaki diğer çözümlerin hiçbiri bu uyarılardan / hatalardan kurtulmak için benim durumumda işe yaramadı.

Bu benim için çalıştı:

Eclipse'den Pencere -> Tercihler -> Maven (genişlet) -> Hatalar / Uyarılar'a gidin. Son seçenek "Eklenti yürütme yaşam döngüsü yapılandırması kapsamında değildir" şeklindedir - bu seçenek için açılır menüyü kullanın ve "Yoksay" ı, ardından Uygula ve ardından Tamam'ı değiştirin. ("Maven Projelerinin güncellenmesi gerekiyor" mesajında ​​Tamam deyin).

Daha fazla bilgi:

Bu, temeldeki sorunları "düzeltmek" olmayabilir ve bazıları tarafından "en iyi uygulama" olarak nitelendirilmeyebilir, ancak bu uyarıların Eclipse'de görünmesini kaldırması / bastırması ve en azından ilerlemenize izin vermesi gerekir. Özellikle - Arch Linux ve OpenJDK 1.7 üzerinde çalışan Eclipse Luna Service Release 1 (4.4.1) w / Spring Dashboard & Spring IDE Core (3.6.3) ve m2e (1.5) ile çalışıyordum. Projemi mevcut bir maven projesi olarak içe aktardım ve mevcut uyarılar / hatalar hakkında uyarıldığında Tamam'ı seçtim (bunlarla daha sonra ilgilenmek için).

Eclipse-Maven "Eklenti Yürütme kapsanmıyor ..." uyarılarını Bastır / Kaldır

(Üzgünüm, tasarımcı değilim, ancak anlaşılması için resim ekledim.)


4

Benim durumumda aşağıdaki adımlar çalıştı:

1 Tutulmada, istenen Maven projesine sağ tıklayın -> Maven Nature'ı Devre Dışı Bırak

2 Tekrar sağ tıklayın ve ardından Özellikler'e gidin . Yalnızca JRE Sistem Kitaplığı bırakarak harici Maven bağımlılığının tüm kanıtlarını silin.

3 Projeye bir kez daha sağ tıklayın ve ardından Yapılandır -> Maven Projesine Dönüştür'e gidin


3

Yukarıdaki çözümlerden hiçbiri benim için işe yaramadı, bu yüzden bu cevap benim durumumdaki herhangi biri için. Sonunda sorunu kendim ve farklı bir çözüm buldum. Pom.xml dosyası, bağımlılıkları sarmalayan bir bağımlılıkManagement etiketi içeriyordu ve M2Eclipse, mevcut olduğunda Maven Bağımlılıkları klasörünü eklemiyordu. Bu yüzden bu etiketi kaldırdım, ardından Ualter Jr.'ın sunduğu çözümü uyguladım ve Eclipse hemen eksik klasörü ekledi!


3

İşte takip ettiğim adımlar.
1. Tutulmadan maven projesi silindi.
2. Kaynak klasörümden src ve pom dışındaki tüm dosyaları (.setting / .classpath / target) sildim .
3. bir maven projesi olarak yeniden içe aktarıldı
4. yeniden oluşturun, maven bağımlılıklarını görebilmeniz gerekir.


2

Cevabım @JerylCook'unkine benzer: .classpathÇalışan bir Maven projesinde başka bir dosya bulun , kötü olanlarınızı iyi çalışan dosyalar olarak düzenleyin. Anahtar eklemek

<attributes>
    <attribute name="maven.pomderived" value="true"/>
</attributes>

her <classpathentry>türde conve src. Değiştirmek unutmayın <classpathentry .... />etmek <classpathentry ...>xxx</classpathentry>.

Sonunda, maven projesini güncelleyin ve maven'de yeniden kurun / yeniden oluşturun.


Bu benim için yaptı. Teşekkürler.
NuCradle

1

Maven -> Proje Yapılandırmasını Güncelle'yi (veya Juno'da "Yapılandırmayı Güncelle ...") gerçekleştirdikten sonra "iç içe geçmiş yollar" hatalarınız varsa, derleme yolunuz yanlış yapılandırılmıştır.

Projeye sağ tıklayın -> Yol Oluştur -> Derleme Yolunu Yapılandır

Yalnızca '/ src' ve bu düzeydeki dizinlerin dahil edildiğinden emin olun. Örneğin '/ src' ve ayrıca '/ src / main / kaynaklar' varsa, bu yanlıştır. İkinci kaynak ('/ src / main / kaynaklar'), tutulmanın maven bağımlılıklarını görmesini engellediği için kaynakları içe aktaramamanıza neden olan ilk ('/ src') altında "yuvalanmış" tır.


1

Sorunum kulağa benzer geliyor, bu yüzden tartışmaya ekleyeceğim. Mevcut bir maven projesinin Eclipse'e aktarımını iptal ettim, bu da Güncellemeye izin verilmemesine ve Çalışma Alanı binasını düzgün bir şekilde bitirememesine neden oldu.

Çözmek için yapmam gereken şey seçmekti Run As... -> Maven build...ve Hedefler altında bunu girip dependency:go-offlineçalıştırdım.

Sonra projeye sağ tıkladım Maven -> Update Project...ve o belirli projeyi seçip güncelledim.

Bu, sonunda kaynak klasörleri oluşturmasına ve içe aktarmayı bitirmesine izin verdi.


1

Hatayı şu şekilde çözebilirim: 1) Sağ tıklayın (maven projeniz) -> maven -> maven kurulumu

Başarılı kurulumdan sonra

2) Sağ tıklayın (maven projeniz) -> maven -> projeyi güncelleyin. Ve maven'in tüm hatası çözüldü!


1

Benim için .project dosyasına bir buildCommand (org.eclipse.m2e.core.maven2Builder) ve bir doğa (org.eclipse.m2e.core.maven2Nature) eklemek yeterliydi, şöyle:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>iText</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.m2e.core.maven2Builder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jdt.core.javanature</nature>
        <nature>org.eclipse.m2e.core.maven2Nature</nature>
    </natures>
</projectDescription>

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


1

Ben böyle çözdüm

  • Pencere-> Tercihler: Maven-> Kullanıcı Ayarları (Açılan pencerede "dosya aç" ı tıklayın veya sadece settings.xml dosyasını Not Defteri gibi harici bir metin düzenleyiciyle düzenleyin) localRepository'nin (bu pencerede görüntülenen) doğru olduğundan emin olun. Dosyamda bir yazım hatası var.
  • Settings.xml dosyasını düzelttikten sonra, aynı Tercihler-> Maven-> Kullanıcı Ayarları ekranında bulunan Ayarları Güncelle'ye tıklayın.

Şimdi yeniden oluşturun ve en son JAR'ları doğru konuma yükleyecektir.


1

Benzer bir sorun yaşadım ve bu yazıdaki tüm cevapları denedim. Bu sorunu çözmeye en yakın olduğum şey Joseph Lust ve Paul Crease çözümlerini birleştirmekti. Projeyi silip yeniden içe aktardıktan sonra yedeklenen pom.xml dosyasını ekledim ve pom.xml'deki bağımlılık yönetimi etiketini silene kadar hiçbir şey görünmedi ve sihirli bir şekilde bağımlılıklar klasörü oradaydı.

Ancak, çalışması için ana pom.xml bağımlılık yönetimine ihtiyaç duydukları için alt POM'ları parçaladı ve sonuç olarak MVN'm projede ne Eclipse'den ne de komut satırından düzgün çalışmıyordu ve bozuk bir pom.xml hatası veriyordu.

Tümünün başarısız olması durumunda son çözüm, projeniz için gereken .jar dosyalarını manuel olarak içe aktarmaktır. Özellikler -> Java Oluşturma Yolu -> Kitaplıklar ve Harici Jar Ekle'ye sağ tıklayın.

MVN'niz komut satırından düzgün çalışıyorsa ve projede başarılı bir derleme yaptıysanız, gerekli tüm depoları .m2 / repository klasörünüzde bulacaksınız. Pom.xml bağımlılıklar etiketinizde belirtilen tüm harici kavanozları ekleyin ve Eclipse'inizde tüm sinir bozucu kırmızı hataların giderildiği bir referans kitaplık bölümü göreceksiniz.

Bu en uygun çözüm değildir, ancak herhangi bir eksik bağımlılık hatası olmadan Eclipse'de çalışmanıza ve ayrıca Maven projesini hem Eclipse'den hem de komut satırından oluşturmanıza olanak tanır.


1

Aynı sorun benim de başıma geldi ve bunun nedeni, .pdf dosyasında kırmızı bayrakla gösterilen repo sorunları nedeniyle bir kavanoz indirirken bir hata olmasıydı pom.xml.

Başka bir depo ekledim, böylece pom.xmlkaybolan kırmızı bayrak ve Eclipse daha sonra pom'u tekrar yükledi, sorununu çözdü ve Proje Gezgini'nde maven bağımlılıklarını listeledim. Görünür sorunları çözmek basit ve açık gibi görünüyor, ancak Eclipse, maven çalıştırmaktan ve başarılı bir şekilde inşa etmekten oldukça mutlu olduğu için, kırmızı bayrak ve repo sorununun, pomu ayrıştırıp maven'i listeleme isteksizliğinin kökeninde olduğu açık değildi. bağımlılıklar



1

.classpath'ı aşağıya güncellemek her seferinde çalışacaktır.

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" output="target/classes" path="src/main/java">
        <attributes>
            <attribute name="optional" value="true"/>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="src" output="target/test-classes" path="src/test/java">
        <attributes>
            <attribute name="optional" value="true"/>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry excluding="WEB-INF/" kind="src" path="src/main/webapp"/>
    <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
            <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="output" path="target/classes"/>
</classpath>

1

Maven Bağımlılıkları: Eclipse'de bunu benim için ne çözdü? Bağımlılığı "pom" dosyasına ekledim. Bir yapı yaptım ama Tutulma'daki Maven Bağımlılığını göremedim. Sonraki Adım: Projeyi kapatınız. Sonra projeyi yeniden açtı. Maven bağımlılıklarını görebiliyordum.


1

Pom'da bir hata olduğunda bu hatayı aldım.

  1. Pom'nın ayrıştırılabilir olup olmadığını kontrol etmek için konsolda mvn eclipse: eclipse komutunu çalıştırın.
  2. Ayrıştırılabilir değilse, hatayı arayın.

Cygwin altında çalışıyorum, komut satırında başarılı bir şekilde (mvn ile) derlememe rağmen sadece bu projenin tutulma altında inşa edilmediğini fark ettim. mvn eclipse:eclipseEclipse projesinde tüm bağımlılıklar çalıştırıldıktan sonra sınıf yoluna eklendi ve proje iyi görünüyordu. ++
Bill Naylor

0

Bu sorunun bu kadar çok farklı nedeni ve olası çözümü olması çok şaşırtıcı. Benim için çalışan farklı bir çözüm buldum.

Eh, o kadar çok çözüm ancak keşif değil: Java perspektif için varsayılan Paket Explorer, içinde Maven bağımlılıklar düğümünü görebilirsiniz, ama ben yapabilirsiniz değildir Proje Explorer kullanan Java EE perspektifinden, görüyorum varsayılan olarak. Bu kaşiflerin ikisi de hızlı bir bakışta birbirine çok benziyor, bu nedenle her ikisinde de Maven Bağımlılıklarını görmeyi bekleyebilirsiniz.

Bunu anlamaya çalışırken, bu farkı fark etmemiştim, bu yüzden sonuçta benim için gerçekten bir sorun değildi.



0

Eclipse STS'de "Maven Bağımlılıkları" kaybolursa pom.xml,. Bunu (iki kez) yaptım ve çözdüm. Bu bir bağımlılık sorunu değildi, ancak bir String oluşturuldu ve benim pom.xml.


0

Yukarıdakilerin hepsi benimle çalışmadı. Düzeltme, yalnızca .m2 altındaki depo klasörünü silmek ve ardından tutulmadan bir maven güncellemesi yapmaktı.


0

Çok fazla cevap. Gördüğünüz gibi, bunun beklendiği gibi çalışmamasının birçok nedeni olabilir. Benim durumumda, bağımlılıklarımın etrafındaki - Etiketini de fark etmedim.yüz

Misal:

...
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${org.slf4j.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>

bu sadece bunun ve istenen sürüme sahip tüm alt projelerin bağımlılığını TANIMLAR! Bu, örneğin ana-POM'da nasıl görünmesi gerektiğidir. Kütüphaneyi BU mevcut projede gerçekten kullanmak için, depency'yi de aşağıdaki gibi eklemelisiniz:

...
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${org.slf4j.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
    </dependency>
</dependencies>

ŞİMDİ BU mevcut projede kitaplığı sağlayacak.

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.