2009-05-12 8 views
149

Próbuję dodać katalog do ścieżki klasy profilu uruchamiania aplikacjijak dodać katalog do ścieżki klasy w profilu uruchamiania aplikacji w Intelli?

Gdybym przesłonić za pomocą cp x: TARGET/klas w ustawieniach VM, pojawia się następujący błąd:

java.lang.NoClassDefFoundError: com/intellij/rt/execution/application/AppMain 

Czy masz pomysł na dodanie katalogu do ścieżki klas dla mojego projektu?

+1

Nie jest dla mnie jasne, gdzie próbujesz dodać, z wiersza polecenia IJ? Lub w właściwości projektu? –

Odpowiedz

171

W wersji Intellij 13 wygląda to nieco inaczej. Oto instrukcje IntelliJ 13:

  1. kliknięcie na widoku projektu lub odkryć go klikając na „1: Projekt” przycisk na lewej krawędzi okna lub przez naciśnięcie Alt + 1
  2. znaleziono takiej projekt lub podmoduł i kliknij go, aby go podświetlić, a następnie naciśnij klawisz F4 lub kliknij prawym przyciskiem myszy i wybierz "Otwórz ustawienia modułu" (w IntelliJ 14 został F12)
  3. kliknij zakładkę zależności
  4. Kliknij znak "+ "po prawej stronie i wybierz" Jars lub katalogi ..."
  5. Znajdź swoją ścieżkę i kliknij OK
  6. W oknie dialogowym z«Wybierz Kategorie wybrany plik»wybierz klas (nawet jeśli jest to właściwości), naciśnij przycisk OK i ponownie OK
  7. Teraz można uruchomić aplikację i ją będzie mieć wybraną ścieżkę w ścieżce klasy
+1

W jaki sposób utworzysz konfiguracje z dwoma różnymi katalogami, które muszą występować wyłącznie w jednym, ale nie w drugim. W Eclipse można dodawać/usuwać wszystko do konfiguracji uruchamiania. Czy IntelliJ nie obsługuje tego? –

+7

Jest całkiem jasne, że możesz zmienić ścieżkę klas * uruchomienia konfiguracji * zmiany * modułu * ścieżki klasy. Ale dokładne pytanie brzmiało "jak dodać katalog do ścieżki klasy w aplikacji * uruchom profil *". Tak więc rzeczywistość została podana przez uaaquarius – dart

+0

Dziękujemy! To rozwiązało mój problem po wiekach poszukiwań! – JonasCz

19

Używam Idea 8. w zakładce zależności modułów (w oknie dialogowym struktury projektu). Dodaj "Bibliotekę modułów". Tam możesz wybrać katalog słoików do dodania. Następnie upewnij się, że profil prowadzony jest za pomocą Classpath i JDK prawidłowego modułu po uruchomieniu (jest to w oknie konfiguracyjnym run

30

Można spróbować -Xbootclasspath/a:.. Ścieżki możliwość uruchamiania aplikacji Java od description określa "rozdzieloną dwukropkami ścieżkę katalogów, archiwów JAR i archiwów ZIP, które mają być dołączone do domyślnej ścieżki klasy bootstrap."

+1

Niektóre dokumentacja na temat działania -Xbootclasspath: http://docs.oracle.com/cd/E15289_01/doc.40/e15062/optionx.htm#i1018570 – Lambart

+1

To jest dobra odpowiedź, ponieważ nie wymaga uire do zmiany konfiguracji projektu. W rzeczywistości myślę, że najlepiej odpowiada na to pytanie. – Chewy

+1

Niestety nie zadziałało to dla mnie, ponieważ powoduje to załadowanie wszystkich klas ładowanych z tej ścieżki klas przez program ładujący klasy bootstrap, który łamie kod, który zakłada, że ​​Xyz.class.getClassLoader() nie ma wartości null. – Njol

71

Wygląda na to, że IntelliJ 11 zmienił metodę, a zaznaczona odpowiedź przestała działać Na wypadek, gdyby ktoś przyjechał tutaj przez wyszukiwarkę, oto jak rozwiązałem go w IntelliJ 11:

  1. Przejdź do struktury projektu, kliknij na moduły, a następnie kliknąć na module
  2. Wybierz „Zależności” Zakładka
  3. Kliknij przycisk „+” na prawej stronie i wybierz „słoiki lub katalogów ... "
  4. Dodaj folder (-y), który chcesz (uwaga można wielokrotnego wyboru) i kliknij OK
  5. W oknie dialogowym, które się pojawi, wybierz«klas»a nie«katalog jar»
  6. Upewnij się, że” Ponowne użycie tego modułu w celu docelowym

Należy zauważyć, że krok 5 wydaje się być kluczową różnicą. Jeśli wybierzesz "katalog jar", będzie wyglądał dokładnie tak samo w IDE, ale nie będzie zawierał ścieżki w środowisku wykonawczym. Wygląda na to, że nie można ustalić, czy wcześniej zaznaczyłeś "klasy" lub "katalog jar" po fakcie.

+2

Dziękuję bardzo za opublikowanie tego. Właśnie uratowałeś mnie godzinę. –

+0

Mam taki sam problem jak wcześniej z IJ11 i z przyjemnością znalazłem odpowiedź, która czekała na mnie tym razem. – sal

+0

Idealny. Ten sam proces dla IJ12. Przebiegł przez ten wpis podczas próby rozwiązania "java.lang.ClassNotFoundException: com/microsoft/jdbc/sqlserver/SQLServerDriver" Rozwiązał problem z połączeniem. Dzięki – jkmurphy1

3

Załóżmy, że potrzebujesz tylko x: target/classes w swojej ścieżce klas. Następnie wystarczy dodać ten folder do ścieżki klasy i% IDEA% \ lib \ idea_rt.jar. Teraz to zadziała. to jest to!

+0

Pytanie brzmi, w jaki sposób dodać ten folder do swojej ścieżki klas w IDEA? – Pacerier

Powiązane problemy