Вопрос-ответ

How to build JARs from IntelliJ IDEA properly?

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

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

Независимо от того, как я изменяю процесс "сборки JAR" IntelliJ, выходные данные моего модуля отображаются пустыми (кроме META-INF файла).

Переведено автоматически
Ответ 1

Инструкции:

File -> Project Structure -> Project Settings -> Щелкните Artifacts (знак плюс) -> + -> Stack Overflow -> Jar -> From modules with dependencies...

Выберите Main Class (тот, у которого есть main() метод), если вам нужно сделать jar работоспособным.

Выберите Extract to the target Jar

Нажмите OK

Нажмите Apply/OK

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

Build -> Build Artifact -> Build

Попробуйте извлечь файл .jar из:

📦ProjectName
┗ 📂out
┗ 📂artifacts
┗ 📂ProjectName_jar
┗ 📜ProjectName.jar

Ссылки:

Ответ 2

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

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


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

Меню файла


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

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


  • Select the main class, and be sure to change the manifest folder:

enter image description here

You have to change manifest directory:

<project folder>\src\main\java 

replace "java" with "resources"

<project folder>\src\main\resources

This is how it should look like:

correct way for new manifest


  • Then you choose the dependencies what you want to be packed IN your jar, or NEAR your jar file


  • To build your artifact go to build artifacts and choose "rebuild". It will create an "out" folder with your jar file and its dependencies.


enter image description here

2. Using maven-assembly-plugin

Add build section to the pom file

    <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>

  • Create a new run/debug configuration:

Create a new run/debug configuration:


  • Choose application:

Выберите приложение


  • Заполните форму

  • Добавьте цель maven "assembly: single" после сборки, чтобы она выполнялась последней

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

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


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

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

Эта процедура создаст jar-файл в папке "target"

Расположение файла JAR

Ответ 3

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

Как создать .jar с помощью IntelliJ IDEA 14.1.5:


  1. Файл> Сохранить все.

  2. Запустите драйвер или класс с помощью метода main.

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

  4. Выберите вкладку "Артефакты".

  5. Нажмите зеленую кнопку "Плюс" в верхней части окна.

  6. Выберите JAR в раскрывающемся меню "Добавить". Выберите "Из модулей с зависимостями".

  7. Выберите основной класс.

  8. Переключатель должен выбирать "извлечь в целевой JAR". Нажмите OK.

  9. Установите флажок "Строить на make"

  10. Нажмите apply и OK.

  11. В главном меню выберите раскрывающийся список build.

  12. Выберите опцию создавать артефакты.

Ответ 4

Для тех, кто, как и я, извлекает выгоду из изображений:

File -> Project Structure

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

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

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

enter image description here

java intellij-idea jar