Poprawny sposób dodawania zewnętrznych słoików (lib/*.jar) do projektu IntelliJ IDEA

Podczas tworzenia nowego projektu Java w IntelliJ IDEA tworzone są następujące katalogi i pliki:

./projectname.iml
./projectname.ipr
./projectname.iws
./src/

Chcę skonfigurować IntelliJ IDEA tak, aby zawierała moje słoiki zależności w ./lib/*.jar do projektu. Jaki jest właściwy sposób, aby to osiągnąć w IntelliJ IDEA?

Author: ROMANIA_engineer, 2009-06-27

9 answers

Kroki dodawania zewnętrznych słoików w IntelliJ IDEA:

  1. Kliknij File z paska narzędzi
  2. Struktura projektu (CTRL + SHIFT + ALT + S na Windows/Linux, + ; na Mac OS X)
  3. Wybierz Moduły w lewym panelu
  4. Zakładka zależności
  5. ' + ' → słoiki lub katalogi
 953
Author: Cambium,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-29 15:32:36

IntelliJ IDEA 15 & 2016

  1. Plik > Struktura Projektu...

    Plik > Struktura Projektu

    Lub naciśnij Ctrl + Alt + Shift + S

  2. Ustawienia projektu > Moduły > zależności > "+" znak > słoiki lub katalogi...

    Moduły > zależności > JAR lub katalogi

  3. Wybierz plik jar i kliknij OK, a następnie kliknij inny przycisk OK, aby confirm

    Tutaj wpisz opis obrazka

    Tutaj wpisz opis obrazka

  4. Możesz wyświetlić plik jar w folderze "External Libraries"

    Tutaj wpisz opis obrazka

 167
Author: ROMANIA_engineer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-07 15:18:55

Wystarczy skopiować-wkleić .jar w folderze libs kliknij go prawym przyciskiem myszy i wybierz opcję "Dodaj jako bibliotekę" z listy. To zrobi resztę...

 80
Author: gurkan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-21 09:07:54

Dodajesz je jako biblioteki do swojego modułu.

Zwykle mam /lib katalog w moim źródle. Umieszczam tam wszystkie słoiki, które potrzebuję, dodaję /lib jako bibliotekę i czynię ją częścią moich zależności modułów.

Aktualizacja 2018: używam IntelliJ 2017/2018 teraz.

Jestem w pełni zaangażowany w Maven i Nexus w zarządzaniu zależnościami.

To jest sposób, w jaki świat poszedł. Każdy projekt Java open source, który znam, używa Mavena lub Gradle. Ty też powinieneś.

 15
Author: duffymo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-14 18:10:51

Używam tej metody i działa dobrze:

1-skopiuj i wklej pliki {[0] } w folderze libs.

2-dodaj compile fileTree(dir: 'libs', include: '*.jar') do dependencies w build.gradle wtedy wszystkie słoiki w folderze libs zostaną dołączone..

3-Kliknij prawym przyciskiem myszy folder libs i wybierz opcję "Dodaj jako bibliotekę" z listy.

 4
Author: Ali Hesari,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-24 19:40:30

Jeśli budujesz swój projekt za pomocą gradle, wystarczy dodać jedną linię do Zależności w kompilacji."gradle": {]}

buildscript {
    ...
}
...

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
}

A następnie Dodaj folder do głównego projektu lub modułu:

Tutaj wpisz opis obrazka

Potem wrzucasz tam słoiki i możesz iść : -)

 4
Author: cesards,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-22 15:06:21

Biblioteki nie mogą być bezpośrednio używane w żadnym programie, jeśli nie są poprawnie dodane do plików Gradle projektu.

Można to łatwo zrobić w inteligentnych Idach, takich jak inteli J.

1) najpierw jako konwencję Dodaj folder o nazwie 'libs' w pliku src projektu. (można to łatwo zrobić używając samego IDE)

2) następnie skopiuj lub Dodaj plik biblioteki (np: .plik jar) do folderu o nazwie 'libs'

3) Teraz możesz zobaczyć plik biblioteki w folderze libs. Teraz kliknij prawym przyciskiem myszy na plik i wybierz "Dodaj jako bibliotekę". To naprawi wszystkie odpowiednie pliki w programie, a biblioteka będzie bezpośrednio dostępna do użytku.

Uwaga:

Gdy dodajesz biblioteki do projektu, upewnij się, że projekt obsługuje bibliotekę

 2
Author: Keet Sugathadasa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-09 07:57:06

Jakaś wielka pomoc tu znaleziona. Jednak nadal nie mogłem zrobić tego do pracy pomimo prawidłowego załadowania słoika. Dowiedziałem się później, że przypadkowo stworzyłem moduł w strukturze plików zamiast zwykłego folderu i ten moduł został wstępnie wybrany w ustawieniach projektu.

Oto footprint:

Plik - > struktura projektu - > Moduły - > (wybierz odpowiedni moduł, jeśli masz więcej) - > zależności - > + - > Jar lub biblioteki

 2
Author: Rolland,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-20 13:03:53

Chociaż zgadzam się z poprzednimi odpowiedziami, ważne jest, aby pamiętać, jak uzyskać dostęp do kodu tych zewnętrznych bibliotek.

Na przykład, aby uzyskać dostęp do klasy w zewnętrznej bibliotece, będziesz chciał użyć import słowo kluczowe, po którym następuje nazwa biblioteki zewnętrznej, kontynuowane z notacją kropkową, aż do osiągnięcia żądanej klasy.

Spójrz na poniższy obrazek, aby zobaczyć, jak importuję klasę CodeGenerationException z biblioteki quickfixj.

Tutaj wpisz opis obrazka

 2
Author: Crt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-06 22:34:49