Как правильно собирать банки из IntelliJ?

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

Как бы я не извращался с процессом IntelliJ' "build jar", выход моего модуля оказывается пустым (кроме файла META-INF).

Решение

Здесь's, Как построить кувшин с IntelliJ 10 http://blogs.jetbrains.com/idea/2010/08/quickly-create-jar-artifact/

Файл -> По структуре -&проект gt; Настройки -&ГТ проект; артефакты -и GT; нажмите зеленый знак-и плюс ГТ; банку -> из модулей с зависимостями...

Выше устанавливает, что "скелет", чтобы где банку будет сохранен. На самом деле построить и сохранить его, сделать следующее:

Экстракт целевой банку

ОК

Строить | Построить Артефакт

Комментарии (14)

Это все-таки проблема в 2017 году, я надеюсь, это поможет кто-то там! Я нашел 2 возможности, чтобы создать рабочую банку-под IntelliJ 2017.2

1. Создание артефакта из IntelliJ:

  • Перейти к структуре проекта:

  • Создать новый артефакт:

  • Выбрать в главном классе, и быть уверены, чтобы изменить папку манифест:

Вы должны изменить манифест каталога:

\src\main\java 

замены "Ява" и с "ресурсов и"

\src\main\resources

Вот как это должно выглядеть:

  • Затем вы выбираете в зависимости, что вы хотите быть упакованы в вашем банке, или рядом с вашим jar-файл

  • Чтобы построить свой артефакт, собрать артефакты и выбрать, что "перестроение" и. Он создаст собой "вне" в папку с файлом jar и его зависимостей.

2. Использование Maven-сборка-плагин

Добавить раздел сборки в файл POM




                maven-assembly-plugin

                    ServiceCreate
                    false


                            com.svt.optimoo.App



                        jar-with-dependencies




                org.apache.maven.plugins
                maven-compiler-plugin

                    1.8
                    1.8



  • Создать новое пуск/настройки отладки:

  • Выбрать приложение:

  • Заполните форму
  • Добавить в "сборка:один" и Мэйвен цель после сборки должны быть выполнены в прошлом

  • Сохраните его, затем запустите

Эта процедура позволит создать файл Jar в графе "цель" в папку

Комментарии (12)

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

Как создать `.банку с помощью IntelliJ идея 14.1.5:

  1. Файл > сохранить все.
  2. Запустить драйвер или класс с метода main.
  3. Файл > структура проекта.
  4. Выберите вкладку на "артефакты" по.
  5. Нажмите кнопку зеленый плюс возле верхней части окна.
  6. Выберите банку с добавления в выпадающем меню. Выберите "от модулей с зависимостями и"
  7. Выбрать главный класс.
  8. Переключатель должен быть выбор и"извлечь в целевом банке." и нажмите OK.
  9. Регистрация весне построить на сделать и"
  10. Нажмите Применить и ОК.
  11. В главном меню выберите построение выпадающего списка.
  12. Выберите параметр создать артефакты.
Комментарии (4)

Для тех, что выгоду от картинки, как я делаю:

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

Комментарии (2)

Вот 2 примера с Maven-проекта, Шаг за шагом:

Метод 1: Создать jar с Maven и pom.xml

  1. Файл, Создать, проект, Мэйвен
  2. создать пакет , создать Java-программу внутри этого пакета
  3. в pom.xml добавьте Мэйвен-банку-плагин.

<плагин> в <группы>орг."Апач".Мэйвен.Плагины</идентификатор_группы> <ИД артефакта>Мэйвен-банку-плагин</ИД артефакта> <версия>3.1.0</версия> <настройки и GT; <архиве> <манифест>

Комментарии (0)

Это, вероятно, немного поздно, но мне удалось решить этот способ -> открыть с помощью WinRAR и удалите ECLIPSEF.ОГА и ECLIPSEF.СФ в META-INF папку, кроме того ставят на "основной класс: main_class_name и" (без " по.класса“) в манифесте.МФ. Убедитесь, что вы нажали на "введите" в два раза после последней строки, в противном случае он выиграл'т работу.

Комментарии (2)

Когда я использую эти решения Эта ошибка идет:

java -jar xxxxx.jar

нет главных атрибутов манифеста, в xxxxx.jar

и решение:

Вы должны изменить манифест каталога:

\src\main\java 

изменение Java для ресурсов

\src\main\resources
Комментарии (2)

Как человек выше говорит, но я должен отметить один момент. Вы должны проверить флажок:

включить в проект строить

Комментарии (0)

С Maven вы можете использовать этот плагин:





            maven-assembly-plugin



                        [path you class main]



                    jar-with-dependencies




                    make-assembly
                    package 

                        single





Комментарии (0)

Идея 8.1.3

Jar в порядке, так как есть скомпилированный вывод в 'output' директории (project/out/production//)

Полагаю, что перед сборкой jar нужно запустить 'make'.

для зависимостей просто проверьте "show library" и выберите то, что вам нужно.

Комментарии (0)

Некоторые другие ответы бесполезны, потому что, как только вы повторно импортировать проект в IntelliJ идея Maven-проекта, все изменения будут потеряны.

Здание банку должен быть вызван запуска/отладки, а не от настроек проекта.

В JetBrains есть хорошее описание того, как можно сделать это здесь:

https://www.jetbrains.com/help/idea/maven.html

Прокрутите вниз до раздела под названием "Настройка триггеров для целей Maven с помощью".

(Единственный минус их описание заключается в том, что их скриншоты по умолчанию черно-белой цветовой схемы вместо суперская тема darcula. Тьфу!)

Так что, в принципе, то, что вы делаете, что вы открываете "в Maven-проекты" и панели можно найти заинтересовавший вас проект, (в вашем случае, проект создает банку,) под ним вы находите Мэйвен цель, которую вы хотите выполнить, (обычно в "пакет" в цель создает банки,) вы можете открыть контекстное меню на его, (правой кнопкой мыши в ОС Windows) и будет собой "Выполнить до запуска/отладки..." и вариант, который можно выбрать, и она будет взять вас за руку от туда. Очень легко.

Комментарии (0)

В случае если вы пытаетесь построить банку с Котлин вам нужно создать папку в `src/главная/Java и использовать эту папку в качестве места для мета-INF папку.

Комментарии (0)

Я пытался построить банку от многомодульная Котлин приложение и получать пресловутые 'не главный атрибут manifest' ошибка. Создание манифеста директорию в src/главная/ресурсы` я't работа либо.

Вместо этого, он работает при создании его в источник напрямую: в src/мета-инф/манифеста.МФ.

Комментарии (0)

Если вы используете сторонние библиотеки с вашего проекта, или если у вас есть проблемы с созданием манифеста.Файл MF должным образом, могут возникнуть конфликты при запуске JAR-файлы, сгенерированные с помощью

File > Project Structure > Artifacts > '+' > JAR > From modules with dependencies > .....

упомянутый выше метод.

Вместо этого я предлагаю вам создать пустую банку и добавить все остальные элементы в корень выхода вручную. Замечательная статья в блоге, этот метод может быть найден здесь: http://karthicraghupathi.com/2016/07/10/creating-an-executable-jar-in-intellij-idea/ я пробовал следующие действия, указанные там, и все работало нормально для меня!

Комментарии (1)

Вот официальный ответ от Идея IntelliJ 2018.3 помочь. Я попробовал и это сработало.

, Чтобы создать jar файл из модуля;

  1. В главном меню, выбрать Создать | создать артефакт.

  2. Из выпадающего списка выберите нужный артефакт типа jar. в списке отображаются все артефакты, настроенные для текущего проекта. Все настроено причине артефактов, выберите команду построить всех вариант артефактов.

Комментарии (0)

Возможно, вы захотите взглянуть на Maven (http://maven.apache.org). Вы можете использовать его либо как основной процесс сборки вашего приложения, либо просто для выполнения определенных задач через диалог Edit Configurations. Процесс создания JAR модуля в Maven довольно тривиален, если вы хотите, чтобы он включал все зависимости в самоисполняемый JAR, это также тривиально.

Если вы никогда раньше не использовали Maven, то вам стоит прочитать [Better Builds With Maven] (http://maven.apache.org/articles.html).

Комментарии (5)

Моя проблема была такая: я использовал Intellij идея (пробовал разные версии) + Градля. Когда я скомпилировал проект и построил artifacf банку, как указано в приведенных выше ответов, я получил сообщение об ошибке - "нет главный манифест attrubute ...и"

Это решение работает для меня (отдельное спасибо Thilina пепельный Гамаге (см. выше) за совет):

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

Параметры проекта - артефакты - добавить (+) - банку - пустую банку. Мета-INF папку будут добавлены к ресурсы папка. Выберите ваш основной класс. Вы увидите следующую структуру банке: Обратите внимание на наличие папку мета-инф Затем вы можете построить свой проект и создавать артефакты. Это решение сработало для приложений JavaFX.

Комментарии (0)

Если вы работаете на весенний проект/МВН вы можете использовать эту команду:

mvn package -DskipTests

Jar-файл будет сохранен на целевую директорию.

Комментарии (0)

Широко используются Ant и Maven. Я предпочитаю Ant, мне кажется, что он более легкий, и вы, разработчик, больше контролируете ситуацию. Некоторые считают, что это его недостаток :-)

Комментарии (1)