Как экспортировать jar файл в intellij idea

Обновлено: 05.07.2024

Я предпочитаю использовать nvidia-smi для мониторинга использования GPU. если он значительно повышается при запуске программы, это сильный признак того, что ваш тензорный поток использует графический процессор.

Шаги для добавления внешних баннеров в IntelliJ IDEA:

  1. Нажмите File на панели инструментов
  2. Структура проекта (CTRL + SHIFT + ALT + S в Windows / Linux , ⌘ +; в Mac OS X)
  3. Выберите модули на левой панели
  4. Закладка зависимостей
  5. '+' & rarr; JAR или каталоги
Кроме того, рассмотрите возможность добавления папки lib и используйте «Attach Jar Directories», который добавит все банки в папку lib. Для довольно большого проекта это не позволяет вам выбирать каждую банку отдельно. – joeslice 6 July 2009 в 19:04 @joeslice, который работает только в том случае, если JAR находятся в корне каталога, верно? Кажется, он не работает для JAR внутри подкаталогов внутри 'lib'. – opyate 3 June 2011 в 18:21 Я использую IDEA 14.0.2. Вместо Add есть символ +. После нажатия + есть 3 варианта: 1. JAR или каталоги 2. Библиотека . 3. Зависимость модуля . – Ripon Al Wasim 13 April 2015 в 06:55

Я использую этот метод, и он хорошо работает:

1- Копировать И вставить файлы .jar в папку libs .

2- Добавить compile fileTree(dir: 'libs', include: '*.jar') в dependencies в build.gradle , тогда все баночки в папке libs будут включены ..

3- Щелкните правой кнопкой мыши по папке libs и выберите в списке вариант «Добавить как библиотеку».

Спасибо, это единственное, что сработало для меня! – Gregordy 16 April 2018 в 20:59

Если вы строите свой проект с помощью градиента, вам просто нужно добавить одну строку к зависимостям в build.gradle:

, а затем добавить папку в корневой проект или модуль:

Тогда вы бросаете свои банки там, и вам хорошо идти: -)

Хотя я согласен с предыдущими ответами, важно отметить, как получить доступ к коду этих внешних библиотек.

Например, чтобы получить доступ к классу во внешней библиотеке, вы захотите использовать ключевое слово import , за которым следует имя внешней библиотеки, продолжите с точечной записью до тех пор, пока не будет достигнут желаемый класс ,

Посмотрите на изображение ниже, чтобы узнать, как я импортирую класс CodeGenerationException из библиотеки quickfixj.

Вы добавляете их в качестве библиотек в свой модуль.

У меня обычно есть каталог /lib в моем источнике. Я поместил все JAR-файлы, которые мне нужны, добавьте / lib в качестве библиотеки и сделайте их частью моих зависимостей в модуле.

Обновление 2018 года: теперь я использую IntelliJ 2017/2018.

Я полностью привержен Maven и Nexus для управления зависимостями.

Так прошло мир. Каждый проект Java с открытым исходным кодом, который я знаю, использует Maven или Gradle. Вы тоже должны.

Да, но что, если Maven pom не называется pom.xml? Тогда кажется, что я не могу читать зависимости от Maven. – user1001630 6 July 2015 в 02:25 Конвенция называет его pom.xml. Следуйте за соглашением и переименуйте файл. – duffymo 6 July 2015 в 09:00 Я все еще нахожу необходимость, когда в банке нет репозита maven . но я не понимаю, как это сделать правильно. Я понимаю, как добавить каталог, я просто не понимаю, как его импортировать javadocs тоже. он работает, когда я добавляю банку в виде одного файла, но не добавляю каталог. Это просто невозможно? – ycomp 18 October 2015 в 15:32 Это здравый совет. Добавление банок вручную требует много времени и подвержено ошибкам. Ваши зависимости всегда должны быть сконфигурированы «через код», в pom.xml (для maven) или независимо от того, что эквивалентно для градиента. – vikingsteve 28 May 2018 в 10:05

Просто скопируйте файл .jar в папку libs, щелкните его правой кнопкой мыши и выберите «Добавить как библиотеку» в списке. Он сделает все остальное .

Простейший и способ, которым мы привыкли делать со времен Eclipse. – Sufian 3 July 2015 в 11:30 Вид раздражает, что он все еще запрашивает имя & quot; то можешь ли ты оставить там какой-нибудь хлам? – dividebyzero 18 September 2016 в 21:19

Библиотеки не могут быть напрямую использованы в какой-либо программе, если они должным образом не добавлены в файлы градиента проекта.

Это можно легко сделать в интеллектуальных средах IDE, таких как inteli J.

1) Сначала как конвенция, добавьте имена папок «libs» в ваш файл src проекта. (это можно легко сделать с помощью самой IDE)

2), затем скопируйте или добавьте файл библиотеки (например: .jar-файл) в папку с именем «libs»

3) теперь вы можете увидеть файл библиотеки внутри папки libs. Теперь щелкните правой кнопкой мыши на файле и выберите «Добавить как библиотеку».

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

Может быть удобно собрать вашу программу в один файл (включающий в себя и скомпилированные исходники, и картинки) который можно скинуть кому-нибудь чтобы он легко запустил вашу программу на почти любом компьютере.

Если у вас творческий проект - настоятельно рекомендуется пройти по этому пути и опубликовать собранный .jar -файл как релиз вашего проекта в репозитории на GitHub.

В общем случае в реальном мире это делается относительно сложно с помощью сборочных инструментов вроде Ant, Maven или Gradle. Но нам подойдет и более простой способ - с помощью встроенной в Intellij IDEA функциональности.

0) Нужен готовый проект

Для того чтобы было что запаковывать в приложение нужен проект открытый в Intellij IDEA, который можно запустить. Т.е. в этом проекте есть main функция, которая будет являться точкой входа в приложение, т.е. будет запускаться в момент двойного клика по запакованной программе.

Дальше будет предполагаться что класс в котором определена желаемая main функция называется Monoceros .

1) Настройка упаковки в пакет

  • File -> Project Struture -> Artifacts
  • Зеленый плюсик сверху-слева -> JAR -> From modules with dependencies.
  • Справа от Main Class нажав на три точки нужно выбрать класс Monoceros
  • Убедиться, что выбран вариант extract to the target JAR
  • Нажать Ok
  • Еще раз нажать Ok

2) Компиляция пакета

Теперь можно собирать пакет приложения:

  • Build -> Build Artifacts.
  • Выбираете нужный артефакт, и жмете Build

Теперь в подпапке проекта out/artifacts/<ArtifactName>_jar/ лежит упакованный jar файл. Его можно запустить на любом компьютере, на котором установлена Java-машина (она же JVM , она же JRE ).

3) Запуск jar-пакета

Двойного клика должно быть достаточно. Но зависит от операционной системы, так что если не будет работать на вашей - напишите мне.

4) Если у вас в проекте есть картинки

1) Создайте папку data внутри проекта (рядом с папкой src ) и перенесите в нее все картинки

2) Замените все пути к картинкам с глобальных на относительные, например с C:\\Users\\. \\image.jpg на data\\image.jpg (или сразу сделайте шаг 4)

3) Нажмите в IDEA правой кнопкой на папке data -> Mark Directory as -> Resources Root

4) Заменить все пути к картинкам с data\\image.jpg на image.jpg (т.е. сделать их относительными относительно data -папки которая установлена как корень “ресурсов”)

NB: Если у вас есть подпапки в data , например есть файлы до шага 4 доступные по пути data\\images\\unicorn.jpg и data\\music\\boom.mp3 , то в рамках четвертого шага их пути надо заменить на images/unicorn.jpg и music/boom.mp3 (**обратите внимание что слеши были заменены с \\ на / ).

5) Заменить все считывания картинок на открытие не через new File(. ) , а через MyPanel.class.getResourceAsStream(. ) :

BufferedImage unicornImage = ImageIO.read(new File("images/unicorn.jpg"));

BufferedImage unicornImage = ImageIO.read(MyPanel.class.getResourceAsStream("images/unicorn.jpg"));

Обратите внимание что здесь вместо MyPanel должен быть тот класс внутри которого вы считываете картинку.

6) Пересобрать .jar -артефакт (см. пункт выше Компиляция пакета)

7) Запустить и радоваться, если оно не работает - см. ниже

8) Из любопытства можете заглянуть внутрь .jar -файла, достаточно изменить его расширение на .zip , т.к. на самом деле это просто .zip -архив, и теперь вы можете заглянуть внутрь и убедиться что там есть скомпилированные исходники ( .class файлы) и все ресурсы (например картинки)

5) Если несколько main-функций

Есть несколько вариантов что делать, если у вас есть несколько main -функций. По сути это означает что у вас есть несколько программ. Например сервер и клиент. Самый простой вариант - выполнить эту инструкцию два раза для каждого класса, в котором есть main -функция, тогда будет несколько jar -пакетов.

6) Как выложить jar-пакет в репозиторий

2) Убеждаетесь что вы залогинились и открываете ваш проект

3) Открываете 0 releases (сразу над списком исходных файлов)

4) Жмете Create a new release

5) Укажите версией что-нибудь вроде v1.0 , Release title: 1.0 , Describe the release: Финальный релиз перед конференцией

6) Ниже воспользуйтесь Attach binaries by dropping them here or selecting them. чтобы приложить собранный .jar файл последней версии который проверенно работает, хорошая идея так же приложить презентацию

7) Нажмите Publish release

7) Не забудьте добавить ссылку на ваш репозиторий в конце презентации

Например вы можете взять одну из картинок-логотипов GitHub здесь. Затем на последнем слайде добавить эту картинку и рядом - ссылку на репозиторий.

Если вдруг не запускается

Запустите терминал (как это сделать - гуглится по windows N how to run command prompt , где N - ваша версия ОС). Вероятно почти везде сработает открыть главное меню (пуск или меню-плитка), там запустить программу Выполнить , в ней ввести cmd и нажать Enter .

В появившемся черном текстовом окне перейдите в папку где находится <ArtifactName>.jar :

Например если файл находится по пути C:\A\B\C\<ArtifactName>.jar то надо выполнить две команды:

Теперь надо запустить явным образом jar -файл (то же самое происходит при двойном клике):

Скорее-всего как и при двойном клике программа на самом деле запускается но падает на старте, и поэтому создается впечатление что она не запустилась, хотя на самом деле она просто быстро упала.

Преимущество явного запуска из консоли в том, что ошибки приложения будут видны в консоли (аналогично тому, как они были видны в консоли среды разработки).

при создании нового проекта Java в IntelliJ IDEA создаются следующие каталоги и файлы:

Я хочу настроить IntelliJ IDEA, чтобы включить мои банки зависимостей в ./lib/*.jar в проект. Каков правильный способ достижения этого в IntelliJ IDEA?

шаги для добавления внешних банок в IntelliJ IDEA:

  1. клик File на панели инструментов
  2. Структура Проекта ( CTRL + SHIFT + ALT + S в Windows / Linux, ⌘ + ; на Mac OS X)
  3. выберите модули на левой панели
  4. вкладка зависимости
  5. '+' → банки или каталоги

IntelliJ IDEA 15 & 2016

>Структура Проекта.

File > Project Structure

или Ctrl + Alt + Shift + S

Настройки Проекта>модули>зависимости >"+" знамение > банки или справочники.

Modules > Dependencies > JAR or directories

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

enter image description here

enter image description here

вы можете просмотреть файл jar в папке "внешние библиотеки"

enter image description here

просто копировать-вставить .jar под папкой libs щелкните правой кнопкой мыши и выберите опцию "Добавить как библиотеку" из списка. Это сделает все остальное.

вы добавляете их в качестве библиотек в свой модуль.

У меня обычно в моем источнике. Я помещаю все банки, которые мне нужны, добавляю /lib в качестве библиотеки и делаю его частью зависимостей модуля.

2018 обновление: я использую IntelliJ 2017/2018.

Я полностью привержен Maven и Nexus для управления зависимостями.

вот как мир пошел. Каждый проект Java с открытым исходным кодом, который я знаю, использует Maven или Gradle. Вы и должен.

Я использую этот метод и он хорошо работает:

1-скопируйте и вставьте .jar файлы под libs папка.

2 - Добавить compile fileTree(dir: 'libs', include: '*.jar') to dependencies на build.gradle тогда все банки в libs папка будет включена..

3-щелкните правой кнопкой мыши на libs папка и выберите опцию "Добавить как библиотеку" из списка.

Если вы строите свой проект с помощью gradle, вам просто нужно добавить одну строку к зависимостям в сборке.Gradle в:

а затем добавьте папку в корневой проект или модуль:

enter image description here

затем вы бросаете свои банки туда, и вам хорошо идти : -)

библиотеки не могут быть непосредственно использованы в любой программе, если не добавлены должным образом в файлы проекта gradle.

Это можно легко сделать в смарт-IDEs, как inteli J.

1) Сначала в качестве соглашения добавьте имена папок "libs" в файл src проекта. (это можно легко сделать с помощью самой IDE)

2) затем скопируйте или добавьте файл библиотеки (например: .jar file) в папку с именем 'libs'

3) Теперь вы можете увидеть файл библиотеки внутри папки libs. Теперь щелкните правой кнопкой мыши на файле и выберите "Добавить как библиотеку". И это исправит все соответствующие файлы в вашей программе, и библиотека будет непосредственно доступна для вашего использования.

всякий раз, когда вы добавляете библиотеки в проект, убедитесь, что проект поддерживает библиотеку

здесь есть отличная помощь. Однако я все еще не мог заставить его работать, несмотря на загрузку банки должным образом. Позже я узнал, что случайно создал модуль в файловой структуре вместо обычной папки, и этот самый модуль был предварительно выбран в настройках проекта.

файл - > структура проекта - > модули - > (выберите правильный модуль, если у вас есть больше) - > зависимости - > + - > JAR или библиотеки

хотя я согласен с предыдущими ответами, важно отметить, как получить доступ к коду этих внешних библиотек.

например, чтобы получить доступ к классу во внешней Библиотеке, вы захотите использовать импорт ключевое слово, за которым следует имя внешней библиотеки, продолжается с точечной нотацией, пока не будет достигнут желаемый класс.

посмотрите на изображение ниже, чтобы увидеть, как я импортировал CodeGenerationException класса от библиотека quickfixj.

При создании нового Java-проекта в IntelliJ IDEA создаются следующие каталоги и файлы:

Я хочу настроить IntelliJ IDEA для включения JAR-файлов зависимостей в ./lib/*.jar проект. Как правильно достичь этого в IntelliJ IDEA?

Шаги для добавления внешних jar в IntelliJ IDEA:

  1. Нажмите File на панели инструментов
  2. Структура проекта ( CTRL + SHIFT + ALT + S в Windows / Linux, ⌘ + ; в Mac OS X)
  3. Выберите Модули на левой панели
  4. Вкладка Зависимости
  5. '+' → JAR или каталоги
Кроме того, рассмотрите возможность добавления папки lib и используйте «Attach Jar Directories», которая добавит все файлы jar в папку lib. Для большого проекта это избавляет вас от необходимости выбирать каждую банку индивидуально. Для дальнейшего использования: эта кнопка «Добавить» находилась за правым краем окна, и я потратил слишком много времени на ее поиск, прежде чем найти этот пост и подумать, как изменить размер окна. (Это было на OSX 10.6.5 . ) @joeslice, который работает, только если файлы JAR находятся в корневом каталоге, верно? Кажется, он не работает для JAR-файлов внутри подкаталогов внутри 'lib'. Я использую IDEA 14.0.2. Вместо Добавить есть символ +. После нажатия + есть 3 варианта: 1. JAR или каталоги 2. Библиотека . 3. Зависимость модуля .

IntelliJ IDEA 15 & 2016

Файл > Структура проекта .

Файл> Структура проекта

или нажмите Ctrl + Alt + Shift + S

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

Модули> Зависимости> JAR или каталоги

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

введите описание изображения здесь

введите описание изображения здесь

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

введите описание изображения здесь

На самом деле я создаю новый модуль на панели «Модули» (названный, например, «JarsForLogging»), затем добавляю все нужные мне файлы jar (расположенные в некотором каталоге, далеко от дерева проекта) в этот новый модуль и помечаю банки как « Экспорт». Наконец, я добавляю вновь созданный модуль в зависимости от исходного модуля. Таким образом, немного более иерархичным. Кроме того: убедитесь, что разрешения файловой системы установлены правильно для .jar файлов. Используйте chmod для их изменения в Linux или MacOS. до сих пор работает в 2018 году (год и версия IntelliJ). Спасибо. Таким образом, я могу загружать и использовать библиотеки Armed Bear Common Lisp из IntelliJ, потрясающе! @ don_Gunner94, через командную строку вы также должны предоставить банку так: javac -cp ".:/my/path/file.jar;" MyProgram.java

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

введите описание изображения здесь

Что-то раздражает, но все равно просит «имя», можете ли вы просто оставить там мусор?

Вы добавляете их как библиотеки в свой модуль.

У меня обычно есть /lib каталог в моем источнике. Я поместил все необходимые мне JAR-файлы, добавил / lib как библиотеку и включил ее в мои зависимости от модулей.

Обновление 2018 года: сейчас я пользуюсь IntelliJ 2017/2018.

Я полностью привержен Maven и Nexus для управления зависимостями.

Это путь, которым мир пошел. Каждый известный мне Java-проект с открытым исходным кодом использует Maven или Gradle. Тебе тоже следует.

Да, но что, если Maven pom не называется pom.xml? Тогда кажется, что я не могу читать зависимости Maven. Условно называть это pom.xml. Следуйте соглашению и переименуйте ваш файл. Я все еще нахожу необходимость, когда на банке нет репозитория Maven . но я не понимаю, как это сделать правильно. Я понимаю, как добавить каталог, я просто не понимаю, как его получить, он также импортирует Javadocs. это работает, когда я добавляю флягу как единственный файл, но не, если я добавляю каталог. Это просто невозможно? Это здравый совет. Добавление банок вручную занимает много времени и подвержено ошибкам. Ваши зависимости всегда должны быть настроены «через код», в pom.xml (для maven) или в любом другом эквиваленте для gradle. Все банки имеют репо. Если он не доступен в публичном или частном репозитории, вы можете установить его вручную в локальном .m2. Там нет причин делать иначе.

Если вы строите свой проект с помощью 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.

Читайте также: