Правильный способ добавления внешних jar (lib / *. Jar) в проект IntelliJ IDEA
При создании нового Java-проекта в IntelliJ IDEA создаются следующие каталоги и файлы:
Я хочу настроить IntelliJ IDEA для включения JAR-файлов зависимостей в ./lib/*.jar проект. Как правильно достичь этого в IntelliJ IDEA?
Шаги для добавления внешних jar в IntelliJ IDEA:
- Нажмите File на панели инструментов
- Структура проекта ( CTRL + SHIFT + ALT + S в Windows / Linux, ⌘ + ; в Mac OS X)
- Выберите Модули на левой панели
- Вкладка Зависимости
- ‘+’ → JAR или каталоги
IntelliJ IDEA 15 & 2016
Файл > Структура проекта .

или нажмите Ctrl + Alt + Shift + S
Настройки проекта > Модули > Зависимости > знак « + »> JAR или каталоги .

Выберите файл фляги и нажмите OK, затем нажмите другую кнопку OK, чтобы подтвердить


Вы можете просмотреть файл JAR в папке «Внешние библиотеки»

Просто скопируйте и вставьте файл .jar в папку «libs» (или целую папку «libs»), щелкните по нему правой кнопкой мыши и выберите «Добавить как библиотеку» из списка. Это сделает все остальное .

Вы добавляете их как библиотеки в свой модуль.
У меня обычно есть /lib каталог в моем источнике. Я поместил все необходимые мне JAR-файлы, добавил / lib как библиотеку и включил ее в мои зависимости от модулей.
Обновление 2018 года: сейчас я пользуюсь IntelliJ 2017/2018.
Я полностью привержен Maven и Nexus для управления зависимостями.
Это путь, которым мир пошел. Каждый известный мне Java-проект с открытым исходным кодом использует Maven или Gradle. Тебе тоже следует.
Если вы строите свой проект с помощью gradle, вам просто нужно добавить одну строку в зависимости в build.gradle:
и затем добавьте папку в ваш корневой проект или модуль:

Тогда вы бросаете свои банки туда, и вы готовы идти 🙂
Я использую этот метод, и он хорошо работает:
1- Скопируйте и вставьте .jar файлы в libs папку.
2 Добавить compile fileTree(dir: ‘libs’, include: ‘*.jar’) в dependencies в build.gradle то все банки в libs будут включены папки ..
3- Щелкните правой кнопкой мыши по libs папке и выберите опцию «Добавить как библиотеку» из списка.
Библиотеки нельзя напрямую использовать в любой программе, если они не добавлены должным образом в файлы проекта.
Это легко сделать в таких интеллектуальных средах, как Inteli J.
1) Сначала в качестве соглашения добавьте имена папок ‘libs’ в файл src вашего проекта. (это легко сделать с помощью самой IDE)
2) затем скопируйте или добавьте свой библиотечный файл (например, файл .jar) в папку с именем ‘libs’
3) теперь вы можете увидеть файл библиотеки внутри папки libs. Теперь щелкните правой кнопкой мыши по файлу и выберите «Добавить как библиотеку». И это исправит все соответствующие файлы в вашей программе, и библиотека будет напрямую доступна для вашего использования.
Пожалуйста, обратите внимание:
Всякий раз, когда вы добавляете библиотеки в проект, убедитесь, что проект поддерживает библиотеку
Некоторая большая помощь найдена здесь. Однако, я все еще не мог заставить это работать несмотря на загрузку JAR должным образом. Позже я узнал, что я случайно создал модуль в файловой структуре вместо обычной папки, и этот самый модуль был предварительно выбран в настройках проекта.
Файл -> Структура проекта -> Модули -> (выберите подходящий модуль, если у вас есть больше) -> Зависимости -> + -> JAR или библиотеки
Хотя я согласен с предыдущими ответами, важно отметить, как получить доступ к коду этих внешних библиотек.
Например, чтобы получить доступ к классу во внешней библиотеке, вам нужно использовать ключевое слово import, за которым следует имя внешней библиотеки, с точечной нотацией, пока не будет достигнут нужный класс.
Посмотрите на изображение ниже, чтобы увидеть, как я импортирую класс CodeGenerationException из библиотеки quickfixj.
Как просмотреть файл .zip в IntelliJ (или .jar и т. Д.)
Я хотел бы иметь возможность «открывать» (без разархивирования) файлы .zip или .jar в IntelliJ так же, как вы можете это сделать в Eclipse, щелкнув извилистую кнопку. Как мне сделать это с помощью IntelliJ?
4 ответа
Jar-файлы, видимые в структуре вашего проекта, которые не могут быть расширены, еще не были «добавлены» в качестве библиотек. Щелкните правой кнопкой мыши файл jar и выберите Add as Library.
Я создал новый плагин Intellij для его реализации. Он поддерживает базовые архивы и расширение tar.gz, ключевая особенность — поддержка вложенных архивов. Он был загружен в репозиторий Jetbrain. Вы можете установить его с торговой площадки плагинов. См. Дополнительную информацию на странице плагина на github. File Expander.
Хотя ответ Кристофера Пайзерта работает для архивов, которые не вложены (вам не повезло, если у вас есть EAR, содержащий WAR) утомительно, что для большинства типов архивов (за исключением JAR) вы должны добавить файл как библиотеку или зависимость из области Структура проекта раздела Настройки .
Если вы хотите, чтобы архивы использовались по умолчанию и работали с вложенными архивами, проголосуйте за эту проблему YouTrack 126376
Теперь существует подключаемый модуль Intellij , который решает эти проблемы:
Обновление: теперь он работает и для вложенных архивов . (проверено 2019.1)
Как я могу запустить Java JAR, созданный из Intellij, из командной строки
Я прочитал сообщение это SO и выполнил шаги, но все равно не могу его запустить.
Я пробовал запустить его следующим образом
Что нужно делать после этого? Что это за зависимости? Кроме того, я делюсь своим pom.xml, в котором есть несколько библиотек, необходимых для моего проекта.

Обычно это Directory_where_jar_is_located $ java -jar jar_file_name.jar
@CrazyCoder Я попробовал ответить на этот вопрос, но кое-что не понял. По запросу я добавил дополнительную информацию, отредактировав свой вопрос. Пожалуйста, дайте мне знать дальше.
@CrazyCoder: Как вы видите, что внутри JAR? Я попробовал стандартную утилиту Jar, которая устанавливается на Mac, но установка Java не работает. Кроме того, я не уверен, создаются ли мои зависимости внутри JAR. Как убедиться в некоторых внешних зависимостях.
@Atihska jar — это, по сути, ZIP-архив, поэтому вы можете использовать любой менеджер архивов для просмотра внутри или просто распаковать его, чтобы увидеть.
@CrazyCoder Тоже пробовал, но при распаковке получаю SparkTut.zip.cpgz . Пробовал на терминале с помощью unzip и его распаковки.



Ответы 2
Я создал тестовый проект на java, построил и выполнил jar.
Изначально структура проекта выглядела так, как показано ниже. Каталог out содержит только производственный каталог. 
Теперь нажмите Файл-> Структура проекта-> Артефакты. Нажмите на знак + рядом с левой навигационной панелью в верхнем левом углу.

Теперь нажмите на знак + и выберите Jar-> из модуля с зависимостями . Появится диалоговое окно, как показано ниже:

Теперь выберите Main Class , выберите radio button перед extract to the target JAR и щелкните OK . Вы увидите следующий
:
Отметьте Include in project build checkbox и щелкните Apply->Ok .

Щелкните Build->Build Project . Теперь вы можете видеть, что у out directory есть artifacts sub-directory , у которого будет соответствующая банка.

Теперь на терминале в intelliJ войдите в каталог, где находится jar, и выполните команду java -jar JAR_NAME.jar , и вы увидите, что выполняется основная функция.
По-прежнему не удается запустить его. Я получаю Error: Could not find or load main class IcebergRun
Вы упомянули свой основной класс в диалоговом окне, которое появляется после нажатия на знак + ? Также проверьте, есть ли у вас класс с main function ?
@Atihska Я создаю банку без основной функции внутри какого-либо класса. Когда я запускаю банку, я получаю сообщение об ошибке Error: Could not find or load main class .
Да у меня класс с. main, и я указал свою main после нажатия + . Пожалуйста, проверьте мои правки.
@Atihska изучает решения, которыми поделились в stackoverflow.com/q/10654120/6407858
Не могу заставить его работать. Я проверил, что мой основной класс существует. Используя $ jar tf IcebergJava.jar | grep Main , я получаю com/example/Main.class . Но по-прежнему не удалось найти или загрузить основной класс com.example.Main. Это означает чтение файла манифеста.
Поэтому я не уверен, почему мой JAR, созданный IntelliJ, не смог выполнить и получить Could not load main class , поэтому я попробовал весь свой java-проект в командной строке и сгенерировал JAR, который работал у меня.
2. Установите также следующее
4. Отредактируйте файлы кода и pom.xml. Вы можете открыть проект в IntelliJ и отредактировать.
5. MAVEN BUILD: запуск из корневого каталога вашего java-проекта.