2014-06-19 14 views
5

Zrobiłem małą bibliotekę, zadzwoń pod numer lib. To dependends na innej biblioteki, sublib która jest dostępna w Maven Central:IntelliJ nie ładuje przechodniości w projekcie maven

lib/pom.xml:

<dependencies> 
    <dependency> 
     <groupId>3rdparty</groupId> 
     <artifactId>sublib</artifactId> 
     <version>x</version> 
    </dependency> 
</dependencies> 

Teraz staram się używać lib w moim projekcie proj. Mam ustawić go jako zależność:

proj/pom.xml:

<dependencies> 
    <dependency> 
     <groupId>mynamespace</groupId> 
     <artifactId>lib</artifactId> 
     <version>y</version> 
    </dependency> 
</dependencies> 

Kiedy biegnę mvn exec:java -D exec.mainClass=mynamespace.proj.Main program działa poprawnie. Jednakże jeśli uruchomię go z IntelliJ, pojawia się następujący błąd:

java.lang.NoClassDefFoundError: 3rdparty/SomeSubLibClass 
    at mynamespace.SomeLibClass.method(SomeLibClass.java:100) 

Wydaje się to wskazywać, że IntelliJ nie ładuje zależność przechodnia sublib. Jak mogę to naprawić?

+1

Czasami trzeba kliknąć prawym przyciskiem myszy na 'pom.xml' w drzewie plików i wybrać' maven> reimport'. (Jeśli nie próbowałeś tego już) – kuporific

+0

@kuporific Dzięki, to naprawiłem! Próbowałem już "zsynchronizować" i podobne opcje, ale jeszcze tego nie znalazłem ... Jeśli wpadniesz na odpowiedź, zaakceptuję to. – dtech

+0

W tym kontekście "synchronizacja" oznacza "synchronizację z systemem plików", która nie jest intuicyjny, jeśli masz Mavena w mózgu. – kuporific

Odpowiedz

6

Możesz kliknąć prawym przyciskiem myszy plik pom.xml w drzewie plików i wybrać maven > reimport.

Czasami zobaczysz wyskakujące okienko z napisem "Projekty Maven muszą być zaimportowane"; powinieneś wybrać Enable Auto-Import.

Maven auto import popup

Opcję tę można znaleźć w Preferences > Maven > Importing > [x] Import Maven projects automatically (i nie jest zaznaczone domyślnie):

enter image description here

+0

Automatyczne importowanie było włączone, więc to nie rozwiązało problemu. – dtech

+0

Byłbym ciekawy, czy ktoś ma pomysły na rozwiązanie tego problemu przy ponownym imporcie, ale NIE rozwiązuje problemu. – spacemanaki

0

Co pracował dla mnie zmieniał z użyciem Maven (IntelliJ) wersji i stosując mój ostatni wersja, która została wcześniej zainstalowana na moim komputerze.

Powiązane problemy