kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
 ripper234
ripper234
Вопрос

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

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

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

473 2009-07-04T17:05:35+00:00 19
Marian Klühspies
Marian Klühspies
Редактировал вопрос 17-го мая 2016 в 5:15
Программирование
java
jar
build-process
intellij-idea
Решение / Ответ
 simao
simao
4-го февраля 2011 в 6:06
2011-02-04T18:06:11+00:00
Дополнительно
Источник
Редактировать
#9228552

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

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

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

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

ОК

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

Copeland Corley
Copeland Corley
Редактировал ответ 14-го июня 2017 в 11:51
Quickly create Jar artifact for application | The IntelliJ IDEA Blog
Since the last EAP build IntelliJ IDEA X provides an action to quickly create a single Jar artifact containing your modules with all dependencies. Just press '+' button in the Project Structure dialog
blogs.jetbrains.com
553
0
Zsolt Tolvaly
Zsolt Tolvaly
25-го июля 2017 в 12:41
2017-07-25T12:41:41+00:00
Дополнительно
Источник
Редактировать
#9228558

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

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

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

Файл

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

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

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

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

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

<project folder>\src\main\java 

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

<project folder>\src\main\resources

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

правильный путь для нового манифеста

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

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

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

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

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

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <finalName>ServiceCreate</finalName>
                    <appendAssemblyId>false</appendAssemblyId>
                    <archive>
                        <manifest>
                            <mainClass>com.svt.optimoo.App</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
  • Создать новое пуск/настройки отладки:

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

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

Выбрать программу

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

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

Окончательная настройка

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

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

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

Фляги расположение файла

 Zemljoradnik
Zemljoradnik
Редактировал ответ 15-го сентября 2018 в 8:45
215
0
 user5442490
user5442490
13-го октября 2015 в 8:13
2015-10-13T20:13:33+00:00
Дополнительно
Источник
Редактировать
#9228554

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

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

  1. Файл > сохранить все.
  2. Запустить драйвер или класс с метода main.
  3. Файл > структура проекта.
  4. Выберите вкладку на "артефакты" по.
  5. Нажмите кнопку зеленый плюс возле верхней части окна.
  6. Выберите банку с добавления в выпадающем меню. Выберите "от модулей с зависимостями и"
  7. Выбрать главный класс.
  8. Переключатель должен быть выбор и"извлечь в целевом банке." и нажмите OK.
  9. Регистрация весне построить на сделать и"
  10. Нажмите Применить и ОК.
  11. В главном меню выберите построение выпадающего списка.
  12. Выберите параметр создать артефакты.
 RAnders00
RAnders00
Редактировал ответ 19-го декабря 2015 в 5:09
133
0
 Crt
Crt
8-го мая 2017 в 5:40
2017-05-08T17:40:33+00:00
Дополнительно
Источник
Редактировать
#9228557

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

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

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

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

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

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

29
0
 rrr
rrr
26-го января 2019 в 12:28
2019-01-26T00:28:24+00:00
Дополнительно
Источник
Редактировать
#9228563

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

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

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

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

Либ/ somePackage.образец

захват экрана: Введите описание изображения здесь 4. окно открытого проекта Maven с, нажмите на значок поиска и Maven тип, Введите описание изображения здесь

  1. нажмите на кнопку очистить, затем нажать на Установить Введите описание изображения здесь

  2. ваш файл Jar в папку Введите описание изображения здесь

  3. проверить свой банке через Ява -фляга <ваш-банку-имя>

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

Способ 2: фляги сборки с помощью Maven без pom.xml изменение

  1. Файл, Создать, проект, Мэйвен
  2. создать пакет , создать Java-программу внутри этого пакета (см. выше)
  3. Файл -> По структуре -&проект gt; Настройки -&ГТ проект; артефакты -и GT; нажмите зеленый знак-и плюс ГТ; банку -> из модулей с зависимостями

Очень важно!

Манифест.СЧ должен быть в папке Resources и Main.Class нужно обратиться к {пакет}-{имя-класса-что-содержит-главный-класса}

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

  1. затем нажмите кнопку построение меню , создавать артефакты, строить

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

  1. найти банки в папку "out"

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

  1. запустить его :)

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

 rrr
rrr
Редактировал ответ 26-го января 2019 в 1:07
11
0
 jbakirov
jbakirov
27-го июня 2015 в 4:23
2015-06-27T16:23:09+00:00
Дополнительно
Источник
Редактировать
#9228553

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

 jbakirov
jbakirov
Редактировал ответ 6-го августа 2015 в 9:58
5
0
 Saeed
Saeed
20-го февраля 2019 в 7:49
2019-02-20T07:49:01+00:00
Дополнительно
Источник
Редактировать
#9228564

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

java -jar xxxxx.jar

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

и решение:

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

<project folder>\src\main\java 

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

<project folder>\src\main\resources
3
0
Benchur Wong
Benchur Wong
3-го июня 2019 в 3:19
2019-06-03T03:19:22+00:00
Дополнительно
Источник
Редактировать
#9228567

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

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

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

1
0
fede beron
fede beron
21-го декабря 2016 в 12:54
2016-12-21T12:54:54+00:00
Дополнительно
Источник
Редактировать
#9228555

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

 <build>
    <plugins>

        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>[path you class main]</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase> 
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
 VanagaS
VanagaS
Редактировал ответ 7-го марта 2017 в 9:29
1
0
 Vugluskr
Vugluskr
4-го июля 2009 в 9:15
2009-07-04T21:15:17+00:00
Дополнительно
Источник
Редактировать
#9228549

Идея 8.1.3

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

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

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

1
0
Mike Nakis
Mike Nakis
25-го марта 2018 в 5:53
2018-03-25T17:53:19+00:00
Дополнительно
Источник
Редактировать
#9228559

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

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

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

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

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

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

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

0
0
 Chris
Chris
7-го июля 2018 в 1:57
2018-07-07T13:57:41+00:00
Дополнительно
Источник
Редактировать
#9228560

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

0
0
Tobias Uhmann
Tobias Uhmann
18-го апреля 2019 в 4:55
2019-04-18T16:55:08+00:00
Дополнительно
Источник
Редактировать
#9228566

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

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

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

0
0
Thilina  Ashen Gamage
Thilina Ashen Gamage
8-го апреля 2017 в 7:10
2017-04-08T19:10:00+00:00
Дополнительно
Источник
Редактировать
#9228556

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

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

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

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

0
0
Sabri Meviş
Sabri Meviş
7-го января 2019 в 12:26
2019-01-07T12:26:14+00:00
Дополнительно
Источник
Редактировать
#9228562

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

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

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

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

0
0
Gary Rowe
Gary Rowe
5-го февраля 2010 в 9:52
2010-02-05T09:52:48+00:00
Дополнительно
Источник
Редактировать
#9228550

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

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

0
0
Orkhan Hasanli
Orkhan Hasanli
4-го марта 2019 в 11:00
2019-03-04T23:00:54+00:00
Дополнительно
Источник
Редактировать
#9228565

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

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

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

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

0
0
Hans Pour
Hans Pour
23-го октября 2018 в 6:57
2018-10-23T18:57:27+00:00
Дополнительно
Источник
Редактировать
#9228561

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

mvn package -DskipTests

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

-1
0
 Brian
Brian
3-го июня 2010 в 7:41
2010-06-03T07:41:38+00:00
Дополнительно
Источник
Редактировать
#9228551

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

-4
0
Похожие сообщества 14
pro.jvm
pro.jvm
5 814 пользователей
Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш канал: @proJVM Вакансии: @jvmjobs @jvmjobschat ⚠️ Оффтоп -> @flood ❌Переход на личности ❌Троллинг ❌Реклама ❌HH (вакансии) ❌Варез
Открыть telegram
learn.java
learn.java
5 375 пользователей
Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat
Открыть telegram
Java & Co
Java & Co
4 434 пользователей
Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/179171 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude
Открыть telegram
pro.JVM Jobs Chat
pro.JVM Jobs Chat
2 564 пользователей
Чат для обсуждения вакансий на JVM языках. Правила: - Никакого спама - Никакого троллинга и оскорблений участников - Размещение вакансий только через канал Канал для вакансий: @jvmjobs Основной чат: @jvmchat Наши друзья: @scala_jobs, @scala_jobs_feed
Открыть telegram
Java/Kotlin and more
Java/Kotlin and more
2 063 пользователей
чат о Java/Kotlin и связанных технологиях. We're discussing: job, tech questions etc. languages: russian, java, eng, kotlin Ссылка на чат: t.me/springframeworkio
Открыть telegram
Java Underground
Java Underground
1 751 пользователей
Библиотека по Java https://t.me/javalib Наше сообщество ВК: https://vk.com/javatutorial Вакансии и резюме свои строго в этот канал: https://t.me/job_java
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Ilya Smirnov
Зарегистрирован 5 дней назад
2
Денис Васьков
Зарегистрирован 1 неделю назад
3
Dima Patrushev
Зарегистрирован 1 неделю назад
4
sirojidddin otaboyev
Зарегистрирован 2 недели назад
5
Елена Гайдамамакинат
Зарегистрирован 2 недели назад
DE
EL
ES
FR
ID
IT
JA
KO
LV
NL
NO
PT
RU
SK
TR
ZH
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией