Как создать файл jar в intellij idea maven

Обновлено: 01.07.2024

В этом посте мы узнаем, как создать банку в IntelliJ IDEA для проекта Scala + Spark на основе Maven. Мы будем использовать инструмент сборки maven для создания файла jar из примера проекта Scala. Мы знаем, что Maven — это инструмент управления проектами, который можно использовать для управления жизненным циклом проекта. Кроме того, это помогает нам создать исполняемый jar-файл из проекта на основе Java или Scala.

Создайте JAR-файл из проекта Scala на основе Maven с помощью IntelliJ IDEA

Мы знаем, что нам нужно упаковать приложение Scala в виде jar-файла, чтобы выполнить его в кластере Hadoop. Как только файл jar создан, мы можем поместить его на пограничный узел или на главный узел, а затем мы можем использовать команду spark-submit для выполнения этого файла jar. Чтобы создать банку в IntelliJ IDEA для проекта Scala + Spark на основе Maven, нам необходимо выполнить следующие шаги:

  1. Создайте образец проекта Scala на основе Maven в IntelliJ IDEA.
  2. Установите подключаемые модули Maven в IntelliJ.
  3. Измените файл pom.xml
  4. Упаковать приложение с помощью команды mvn в терминале
  5. Протестируйте JAR-файл, запустив его.

Давайте подробно обсудим каждый из вышеупомянутых пунктов ниже:

1. Создайте пример проекта scala на основе Maven в IntelliJ IDEA

Чтобы настроить проект hello-world на основе maven, нам необходимо выполнить следующие шаги:

  1. Во-первых, загрузите и установите IntelliJ IDEA CE.
  2. Во-вторых, установите плагин языка Scala в IntelliJ.
  3. В-третьих, создайте пример проекта hello-world maven, используя архетип scala-archetype-simple.
  4. Наконец, соберите и запустите проект

Короче говоря, создайте проект Maven, используя архетип «scala-archetype-simple», и обновите файл App.scala, добавив следующий код:

2. Установите подключаемые модули Maven в IntelliJ

После того, как мы создали пример Scala-приложения hello-world, затем нам нужно установить подключаемый модуль Maven в IntelliJ IDEA. Для этого:

В macOS выберите Intellij IDEA -> Настройки -> Плагины. В Windows выберите «Файл» -> «Настройки» -> «Плагины», чтобы открыть экран установки плагина.

Параметры установки плагина
< /p>

Настройка установки плагина

Затем перейдите на рынок и найдите подключаемый модуль «Maven helper». Нажмите кнопку установки, чтобы установить его.

После установки нам может потребоваться перезапустить IDE.

3. Измените файл pom.xml

Теперь нам нужно обновить файл pom.xml, чтобы сообщить maven, как нам нужно собрать и упаковать наше приложение Scala.

Если нам нужно добавить искровой код, нам нужно добавить искровые зависимости в файл pom.xml. Также нам нужно обновить версию scala в файле pom.xml. Мы можем обновить тег файла pom с помощью приведенного ниже кода.

Далее нам нужно внедрить эти зависимости в тег файла pom.xml.

Наконец, нам нужно сообщить Maven, как нужно упаковать файл .jar. Для этого нам нужно добавить приведенный ниже плагин в тег тега в файле pom.xml.

4. Упакуйте приложение с помощью команды mvn в терминале

Итак, чтобы собрать и упаковать приложение в файл jar, мы можем выполнить приведенную ниже команду mvn в окне терминала IntelliJ.

Приведенная выше команда очистит все существующие пакеты, а затем создаст новый упакованный файл .jar, который можно использовать для развертывания и выполнения в кластере Hadoop.

После выполнения вышеуказанной команды mvn в каталоге проекта будет создана новая папка с именем target.


Упакованный jar в целевой папке

5. Протестируйте файл jar, запустив его

Наконец, мы можем выполнить созданное jar-приложение, используя приведенную ниже команду java, указав полное имя основного класса, а затем мы можем проверить вывод.


Вывод Java cp

В процессе компиляции и сборки IntelliJ IDEA исходные файлы компилируются и объединяются внешние библиотеки, файлы свойств и конфигурации для создания работающего приложения. IntelliJ IDEA использует компилятор, работающий в соответствии со спецификацией Java.

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

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

Однако встроенный компоновщик IntelliJ IDEA может неправильно собрать проект Gradle или Maven, если в его файле сценария сборки используются пользовательские подключаемые модули или задачи. В этом случае делегирование сборки Gradle или Maven может помочь вам правильно построить проект.

Скомпилировать один файл или класс

Откройте нужный файл в редакторе и в главном меню выберите Build | Перекомпилируйте 'имя класса' ( Ctrl+Shift+F9 ).

Кроме того, в окне инструмента "Проект" щелкните правой кнопкой мыши нужный класс и в контекстном меню выберите "Перекомпилировать имя класса" .

Если в процессе компиляции возникают ошибки, IntelliJ IDEA отобразит их в обзоре компиляции и построит выходные данные вместе с предупреждающими сообщениями.

Изменить расположение вывода компиляции

При компиляции исходного кода IntelliJ IDEA автоматически создает выходной каталог, содержащий скомпилированные файлы .class.

Каталог вывода компиляции

В выходном каталоге IntelliJ IDEA также создает подкаталоги для каждого из ваших модулей.

Пути по умолчанию для подкаталогов следующие:

На уровне проекта вы можете изменить часть /out выходного пути. Если вы сделаете это (скажем, укажете some вместо /out ), но не переопределите пути на уровне модуля, результаты компиляции попадут в /production/ и /test/ .

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

Указать выходные папки компиляции

Откройте диалоговое окно «Структура проекта» ( File | Project Structure Ctrl+Alt+Shift+S ).

В параметрах проекта выберите «Проект» и в поле «Вывод компилятора проекта» укажите соответствующий путь.

Диалоговое окно структуры проекта/страница проектов

Для модулей выберите «Модули» , нужный модуль и вкладку «Пути». Измените расположение выходной папки в разделе выходных данных компилятора.

Построить

Когда вы выполняете команду Build, IntelliJ IDEA компилирует все классы внутри вашей цели сборки и помещает их в выходной каталог.

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

Создать модуль или проект

Выберите модуль или проект, который хотите скомпилировать, и в главном меню выберите Сборка | Построить проект ( Ctrl+F9 ).

IntelliJ IDEA отображает результаты компиляции в обзоре компиляции и выходных данных сборки.

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

Диалоговое окно структуры проекта/страница модуля

То, как упорядочиваются зависимости модулей, может быть очень важно для успешной компиляции. Если любые два JAR-файла содержат классы с одинаковыми именами, компилятор IntelliJ IDEA будет использовать классы из первого JAR-файла, который он найдет в пути к классам.

Дополнительную информацию см. в разделе Зависимости модуля.

Перестроить

Когда вы выполняете команду перестроения, IntelliJ IDEA очищает весь выходной каталог, удаляет кэши сборки и создает проект или модуль с нуля. Это может быть полезно, когда записи пути к классам изменились. Например, SDK или библиотеки, которые используются в проекте, добавляются, удаляются или изменяются.

Перестроить модуль или проект

В главном меню выберите Сборка | Перестроить проект для всего проекта или построить | Перестроить 'имя модуля' для перестроения модуля.

IntelliJ IDEA отображает результаты сборки в обзоре компиляции и выходных данных сборки.

Когда действие «Перестроить проект» делегировано Gradle или Maven, IntelliJ IDEA не включает чистую задачу/цель при перестроении проекта. При необходимости вы можете выполнить команду очистки перед перестроением, используя параметр «Выполнить перед перестроением» в окне инструментов Gradle или Maven.

Фоновая компиляция (автоматическая сборка)

Вы можете настроить IntelliJ IDEA для автоматической сборки проекта каждый раз, когда вы вносите в него изменения. Результаты фоновой компиляции отображаются в окне инструментов Проблемы.

Настроить фоновую компиляцию

Нажмите Ctrl+Alt+S, чтобы открыть настройки IDE, и выберите Build, Execution, Deployment | Компилятор .

На странице "Компилятор" выберите "Создать проект автоматически".

Теперь, когда вы вносите изменения в файлы классов, IntelliJ IDEA автоматически выполняет добавочную сборку проекта.

Автоматическая сборка также запускается, когда вы сохраняете файл ( Ctrl+S ) или когда у вас есть автоматически сохранять файлы, если приложение бездействует в течение N секунд. параметр, выбранный в диалоговом окне настроек системы.

Включение параметра "Сборка проекта автоматически" также включает сборку проекта в разделе "Настройки/Настройки | Инструменты | Действия при сохранении

Если в вашем проекте включен параметр "Режим энергосбережения" ( Файл | Режим энергосбережения ), действие автоматической сборки отключено, и вам необходимо запустить сборку вручную ( Ctrl+F9 ).

Скомпилировать перед запуском

По умолчанию, когда вы запускаете приложение, IntelliJ IDEA компилирует модуль, в котором находятся классы, которые вы пытаетесь запустить.

Если вы хотите изменить это поведение, вы можете сделать это в диалоговом окне Run/Debug Configurations.

Настроить конфигурацию запуска/отладки

В главном меню выберите «Выполнить | Изменить конфигурации .

В открывшемся диалоговом окне создайте новую или откройте существующую конфигурацию запуска.

Нажмите ссылку "Изменить параметры".

В списке "Добавить параметры запуска" в разделе "Перед запуском" выберите "Добавить задачу перед запуском" . Список задач станет доступным, и будет выбрана сборка. Нажмите, чтобы отключить его.

Если вам нужно добавить новое действие конфигурации, нажмите и в открывшемся списке выберите нужный вариант.

Например, если вы выберете «Создать проект», IntelliJ IDEA создаст весь проект перед запуском. В этом случае будут учитываться зависимости, которые не были включены в сборку с действием Build. Если вы выберете вариант Сборка без проверки ошибок, IntelliJ IDEA запустит приложение, даже если в результатах компиляции есть ошибки.

Просмотр компиляции и сборки

IntelliJ IDEA сообщает о результатах компиляции и сборки в окне инструмента "Сборка", где отображаются сообщения об ошибках и предупреждения, а также успешные этапы компиляции.

Вывод сборки IntelliJ IDEA

Если вы настроили автоматическую сборку, IntelliJ IDEA использует для сообщений окно инструмента "Проблемы". Окно доступно, даже если сборка выполнена успешно. Чтобы открыть его, нажмите Автосборка в строке состояния.

Окно инструмента

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

Упаковать приложение в JAR

Когда код скомпилирован и готов, вы можете упаковать свое приложение в архив Java (JAR), чтобы поделиться им с другими разработчиками. Созданный архив Java называется артефактом .

Создайте конфигурацию артефакта для JAR

В главном меню выберите Файл | Структура проекта Ctrl+Alt+Shift+S и щелкните Артефакты .

Нажмите , выберите JAR и выберите Из модулей с зависимостями .

Справа от поля "Основной класс" нажмите и выберите основной класс в открывшемся диалоговом окне (например, HelloWorld (com.example.helloworld) ).

IntelliJ IDEA создает конфигурацию артефакта и отображает ее настройки в правой части диалогового окна «Структура проекта».

Примените изменения и закройте диалоговое окно.

Создание артефакта JAR

В главном меню выберите Сборка | Создавайте артефакты .

Укажите на созданный файл .jar ( HelloWorld:jar ) и выберите "Создать".

Если вы сейчас посмотрите на папку out/artifacts, вы найдете там файл .jar.

Запустить упакованный JAR

Для запуска приложения Java, упакованного в JAR, IntelliJ IDEA позволяет создать специальную конфигурацию запуска.

Если у вас есть проект Gradle, используйте Gradle для создания и запуска файла JAR.

Для проектов Maven вы можете использовать IntelliJ IDEA для запуска файла JAR. Если у вас есть проект Spring Boot Maven, см. раздел Spring.

Создать конфигурацию запуска

Нажмите Ctrl+Shift+A , найдите и запустите действие "Редактировать конфигурации".

В диалоговом окне "Запуск/отладка конфигураций" нажмите и выберите Приложение JAR .

Добавьте имя для новой конфигурации.

В поле «Путь к JAR» нажмите и укажите путь к файлу JAR на вашем компьютере.

В разделе "Перед запуском" нажмите и выберите "Создать артефакты" в открывшемся диалоговом окне.

Это означает, что JAR создается автоматически каждый раз, когда вы выполняете конфигурацию запуска.

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

Выполнить настройку запуска

На панели инструментов выберите созданную конфигурацию и щелкните справа от селектора конфигурации запуска. Либо нажмите Shift+F10, если предпочитаете ярлыки.

Как и раньше, открывается окно инструмента "Выполнить" и отображаются выходные данные приложения.

Если процесс завершился успешно, приложение упаковано правильно.


Файл JAR (архив Java) — это независимый от платформы пакет вашего приложения в одном архивном файле. Упаковка вашего приложения в JAR упрощает распространение вашей программы, а также означает, что функциональные возможности вашей программы можно использовать повторно — например, другие программы могут использовать ваши функциональные возможности, просто добавив ваш JAR-файл в качестве зависимости.

Есть два типа файлов JAR: обычные и исполняемые. Обычные JAR-файлы не имеют точки входа, что означает, что вы не можете напрямую выполнять этот тип JAR-файлов. Вы можете только добавить его как зависимость к другим программам и получить доступ к классам и функциям в вашей программе. С другой стороны, исполняемый файл JAR может выполняться напрямую без какой-либо внешней программы. Проще говоря, вы можете запустить исполняемый файл JAR напрямую, просто дважды щелкнув по нему.

IntelliJ предоставляет несколько различных способов экспорта JAR-файла из рабочей области. В этом руководстве я объясню два разных метода настройки архитектуры проекта для экспорта JAR-файла из IntelliJ:

  • Создание артефакта в IntelliJ
  • Использование Maven

Чтобы лучше понять руководство, вы будете использовать простой пример программы, которая принимает информацию о профиле пользователя в качестве аргумента командной строки. Эта программа также использует Picocli и Apache Commons Cli в качестве внешних зависимостей, которые будут поддерживать проверку и анализ параметров командной строки.

Экспорт JAR-файла с использованием метода артефакта сборки

В этом методе вы экспортируете JAR-файл, используя опцию сборки IntelliJ. Перед запуском вам нужно создать проект и добавить в него необходимые зависимости. Зависимости — это внешние программы, упакованные в виде JAR-файлов с уже реализованными некоторыми функциями, которые можно легко повторно использовать в вашей программе. Вам также потребуется создать основной класс с некоторыми простыми функциями.

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

<р>1. Настройте параметры проекта, чтобы определить артефакты этого проекта. Нажмите Структура проекта в меню файлов.

Настройка структуры проекта

<р>2. В окне «Структура проекта» нажмите Артефакты на левой панели, затем нажмите значок плюса. Разверните параметр JAR и нажмите Из модуля с зависимостями.

Создание артефактов

Откроется окно Создать JAR из модулей.

Настройка JAR

<р>3. Щелкните значок папки в правой части поля «Основной класс», чтобы выбрать основной класс вашего проекта. Если вы знаете название основного класса, начните вводить текст в поле, чтобы увидеть предложения.

<р>4. Установите, как должны обрабатываться внешние библиотеки при создании JAR. Есть два варианта:

    • Извлечь в целевой JAR: этот параметр извлекает все файлы классов ваших внешних библиотек в создаваемый вами JAR. Этот единственный JAR будет содержать ваши файлы классов, а также файлы классов из ваших внешних зависимостей. Этот вариант рекомендуется, поскольку обработка одного JAR-файла проще, чем обработка нескольких. Вы можете легко добавить его в другие свои программы и запустить двойным щелчком мыши.
    • Копировать в выходной каталог и связать через манифест: этот параметр копирует JAR-файлы зависимостей в выходной каталог и создает ссылку на вашу программу Java с помощью файла манифеста. Если вы выберете эту опцию, вы также должны указать место, где должен быть создан файл манифеста. Этот метод рекомендуется, если у вас много JAR-файлов, особенно если какой-либо из них подписан. Подписанные JAR-файлы могут работать неправильно при извлечении файлов классов в JAR-файл. Поэтому лучше скопировать JAR-файлы в выходной каталог и использовать их через файл манифеста.
    <р>5.Выберите соответствующий вариант и нажмите ОК, создав артефакт в окне "Артефакты".

    Настройка артефактов

    Вы увидите имя JAR-файла в поле Имя и его расположение в выходном каталоге. Вы можете изменить выходной каталог на желаемое место.

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

    Создание артефактов

    Когда вы нажимаете Создать артефакты, JAR-файл создается в выбранном вами выходном каталоге.

    Вот как вы экспортируете JAR, используя параметры, доступные в IntelliJ. Далее вы увидите, как экспортировать JAR с помощью Maven.

    Экспорт JAR-файла с помощью Maven

    Maven — это инструмент для управления и автоматизации проектов, разработанный для упрощения процесса сборки. Например, вы можете создавать сценарии для:

    • Создавайте проект и создавайте JAR-файл после каждой фиксации в репозитории git.
    • Создавайте проект каждую ночь и развертывайте JAR-файлы в производственных системах, когда все определенные тестовые случаи пройдены.
    • Автоматизируйте сборку и развертывание проектов с помощью Jenkins.

    Для начала создайте проект Maven в IntelliJ с помощью этого руководства. Не забудьте добавить необходимые классы для вашего проекта. Вы можете использовать те же файлы классов и зависимости, что и в примере из предыдущего раздела.

    Когда вы создаете новый проект Maven, в каталоге вашего проекта создается минимальный файл POM со следующим содержимым:

    Этот файл POM содержит три важных для проекта артефакта:

    • groupId : уникальное базовое название компании, которая создает и поддерживает проект.
    • artifactId: уникальное имя самого проекта.
    • версия: номер версии проекта.

    Настройка сборки Maven

    В этом разделе вы настроите аспекты сборки Maven. Вы можете добавить различные плагины в раздел сборки вашего POM-файла в зависимости от ваших требований. У каждого будут разные функции. Эти плагины будут выполняться во время сборки вашего проекта.

    В этом руководстве вы добавите необходимый подключаемый модуль и настроите его для экспорта JAR-файла во время сборки.

    Это добавляет компилятор Maven для ваших проектов, а также обозначает версию Java для компиляции ваших исходных кодов. Здесь вы используете Java версии 1.8.

    <р>2. Добавьте плагин maven-assembly. Это создает сборку вашего проекта Java.

    Краткое описание различных разделов плагина:

    • artifactId: название самого подключаемого модуля.
    • configuration: настраивает сборку maven.
    • finalName : Окончательное имя создаваемой сборки : Флаг для включения или исключения имени сборки в окончательное имя JAR : Добавляет инструкции к компоновщику архива, в данном случае добавляя основной класс вашей Java-программы в манифест : список ссылок на дескрипторы сборки, доступные в пути к классам плагина.
    • выполнение: тег для указания действий, которые должны выполняться во время выполнения.
    • Цель : Здесь directory-single используется для создания одного файла во время сборки.

    Теперь, когда вы настроили параметры Maven для своего проекта, весь файл POM для проекта должен выглядеть следующим образом:

    Выполнение сборки Maven

    Далее вы создадите конфигурацию для сборки Maven и выполните ее. Он экспортирует JAR в указанные вами каталоги.

    <р>1. Выберите Выполнить > Изменить конфигурации. Откроется окно конфигураций запуска/отладки.

    Редактирование конфигураций

    <р>2. Выберите параметр Maven в меню Добавить новую конфигурацию.

    Добавление новой конфигурации

    Это создаст для вас конфигурацию запуска Maven, как показано ниже.

    Настройка новой конфигурации Maven

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

    <р>4. В поле командной строки добавьте чистую установку. Эти цели предусматривают очистку проектов и установку пакета в соответствующую директорию.

    <р>5. Нажмите Применить и ОК. Это создает конфигурацию запуска непосредственно для вас.

    <р>6. В меню "Выполнить" выберите Выполнить имя_конфигурации.

    Выполнить настройку

    Вы увидите, что сборка запускается в вашей консоли, а через несколько секунд вы увидите сообщение BUILD SUCCESS . JAR будет находиться в целевом каталоге вашего дома Project.

    Помните, поскольку этот проект имеет конфигурации в файле Pom.xml, вы также можете настроить автоматическую сборку с использованием сценариев Jenkins по любому триггеру (например, после каждой фиксации в репозитории git).

    Заключение

    Создание JAR-файла в IntelliJ немного сложнее, когда речь идет о настройке структуры проекта и создании артефактов. В случае использования Maven это еще сложнее из-за настройки, связанной с настройкой файла POM и процессов сборки проекта.

    Но в этом руководстве вы узнали, как использовать два разных варианта сборки JAR (используя метод артефакта сборки и используя Maven) в IntelliJ, чтобы упростить процесс. Если у вас есть предложения или советы по созданию JAR-файла, которых нет в этой статье, сообщите мне о них в комментариях.

    Технический писатель и блогер, стремящийся обеспечить лучший в своем классе опыт чтения. Викрам много пишет на темы, связанные с Java, облаком AWS и профессией программирования в целом.

    В этом руководстве вы узнаете, как создать приложение Apache Spark, написанное на языке Scala, с использованием Apache Maven и IntelliJ IDEA. В статье в качестве системы сборки используется Apache Maven. И начинается с существующего архетипа Maven для Scala, предоставленного IntelliJ IDEA. Создание приложения Scala в IntelliJ IDEA включает следующие шаги:

    • Используйте Maven в качестве системы сборки.
    • Обновите файл объектной модели проекта (POM), чтобы устранить зависимости модуля Spark.
    • Напишите свое приложение на языке Scala.
    • Создайте JAR-файл, который можно отправить в кластеры HDInsight Spark.
    • Запустите приложение в кластере Spark с помощью Livy.

    В этом руководстве вы узнаете, как:

    • Установите подключаемый модуль Scala для IntelliJ IDEA.
    • Использование IntelliJ для разработки приложения Scala Maven
    • Создать отдельный проект Scala

    Предпосылки

    Кластер Apache Spark в HDInsight. Инструкции см. в разделе Создание кластеров Apache Spark в Azure HDInsight.

    Комплект для разработчиков Oracle Java. В этом руководстве используется Java версии 8.0.202.

    Установите подключаемый модуль Scala для IntelliJ IDEA

    Чтобы установить подключаемый модуль Scala, выполните следующие действия:

    Откройте IntelliJ IDEA.

    На экране приветствия выберите «Настроить» > «Плагины», чтобы открыть окно «Плагины».

    `IntelliJ IDEA включает подключаемый модуль scala`

    Выберите «Установить» для плагина Scala, который появится в новом окне.

    `IntelliJ IDEA установить подключаемый модуль scala`

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

    Используйте IntelliJ для создания приложения

    Запустите IntelliJ IDEA и выберите "Создать новый проект", чтобы открыть окно "Новый проект".

    Выберите Apache Spark/HDInsight на левой панели.

    Выберите проект Spark (Scala) в главном окне.

    В раскрывающемся списке Инструмент сборки выберите одно из следующих значений:

    • Поддержка мастера создания проектов Maven для Scala.
    • SBT для управления зависимостями и создания проекта Scala.

    IntelliJ Диалоговое окно

    Выберите "Далее".

    В окне "Новый проект" укажите следующую информацию:

    Свойство Описание
    Имя проекта Введите имя.
    Местоположение проекта Введите место для сохранения вашего проекта.
    Project SDK Это поле будет пустым при первом использовании IDEA. Выберите Новый. и перейдите к своему JDK.
    Версия Spark Мастер создания интегрирует правильную версию для Spark SDK и Scala SDK. Если версия кластера Spark более ранняя, чем 2.0, выберите Spark 1.x. В противном случае выберите Spark2.x. В этом примере используется Spark 2.3.0 (Scala 2.11.8).

    IntelliJ IDEA Выбор Spark SDK

    Выберите Готово.

    Создать отдельный проект Scala

    Запустите IntelliJ IDEA и выберите "Создать новый проект", чтобы открыть окно "Новый проект".

    Выберите Maven на левой панели.

    Укажите SDK проекта. Если пусто, выберите Создать. и перейдите в каталог установки Java.

    Установите флажок "Создать из архетипа".

    Из списка архетипов выберите org.scala-tools.archetypes:scala-archetype-simple . Этот архетип создает правильную структуру каталогов и загружает необходимые зависимости по умолчанию для написания программы Scala.

    Снимок экрана показывает выбранный архетип в окне

    Выберите "Далее".

    Разверните координаты артефакта. Укажите соответствующие значения для GroupId и ArtifactId. Имя и местоположение заполнятся автоматически. В этом руководстве используются следующие значения:

    • Идентификатор группы: com.microsoft.spark.example
    • Идентификатор артефакта: SparkSimpleApp

    На снимке экрана показана опция

    Выберите "Далее".

    Проверьте настройки и нажмите "Далее".

    Проверьте имя и расположение проекта, а затем нажмите "Готово". Импорт проекта займет несколько минут.

    После импорта проекта на левой панели перейдите к SparkSimpleApp > src > test > scala > com > microsoft > spark > example. Щелкните правой кнопкой мыши MySpec и выберите Удалить. . Вам не нужен этот файл для приложения. Нажмите OK в диалоговом окне.

    На последующих этапах вы обновите файл pom.xml, чтобы определить зависимости для приложения Spark Scala. Чтобы эти зависимости загружались и разрешались автоматически, необходимо настроить Maven.

    В меню "Файл" выберите "Настройки", чтобы открыть окно настроек.

    В окне "Настройки" выберите "Сборка, выполнение, развертывание" > "Инструменты сборки" > "Maven" > "Импорт".

    Установите флажок "Автоматически импортировать проекты Maven".

    Выберите Применить, а затем выберите ОК. Затем вы вернетесь в окно проекта.

    Настроить Maven для автоматической загрузки

    На левой панели перейдите к src > main > scala > com.microsoft.spark.example, а затем дважды щелкните приложение, чтобы открыть App.scala.

    Замените существующий образец кода следующим кодом и сохраните изменения. Этот код считывает данные из файла HVAC.csv (доступен во всех кластерах HDInsight Spark). Извлекает строки, содержащие только одну цифру в шестом столбце. И записывает выходные данные в /HVACOut в контейнере хранилища по умолчанию для кластера.

    На левой панели дважды щелкните файл pom.xml.

    Внутри \ добавьте следующие сегменты:

    Внутри \ добавьте следующие сегменты:

    Сохраните изменения в pom.xml.

    Создайте файл .jar. IntelliJ IDEA позволяет создавать JAR как артефакт проекта. Выполните следующие шаги.

    В меню "Файл" выберите "Структура проекта". .

    В окне «Структура проекта» выберите «Артефакты» > символ «плюс» + > JAR > «Из модулей с зависимостями». .

    `Структура проекта IntelliJ IDEA добавить jar`

    В окне "Создать JAR из модулей" выберите значок папки в текстовом поле "Основной класс".

    В окне "Выбрать основной класс" выберите класс, который отображается по умолчанию, а затем нажмите кнопку "ОК".

    `Структура проекта IntelliJ IDEA выбирает класс`

    В окне «Создать JAR из модулей» убедитесь, что выбран параметр «Извлечь в целевой JAR», а затем нажмите «ОК». Этот параметр создает один файл JAR со всеми зависимостями.

    Jar структуры проекта IntelliJ IDEA из модуля

    На вкладке «Макет вывода» перечислены все файлы JAR, включенные в проект Maven. Вы можете выбрать и удалить те, от которых приложение Scala не имеет прямой зависимости. Для приложения, которое вы создаете здесь, вы можете удалить все, кроме последнего (результаты компиляции SparkSimpleApp). Выберите банки, которые нужно удалить, а затем выберите отрицательный символ -.

    `Структура проекта IntelliJ IDEA удалить вывод`

    Убедитесь, что установлен флажок Включить в сборку проекта. Этот параметр гарантирует, что jar будет создаваться каждый раз при сборке или обновлении проекта. Выберите «Применить», а затем «ОК».

    Чтобы создать банку, выберите "Сборка" > "Артефакты сборки" > "Сборка". Проект скомпилируется примерно за 30 секунд. Выходная банка создается в папке \out\artifacts.

    Вывод артефакта проекта IntelliJ IDEA

    Запустите приложение в кластере Apache Spark

    Для запуска приложения в кластере можно использовать следующие подходы:

    Скопируйте JAR-файл приложения в большой двоичный объект службы хранилища Azure, связанный с кластером. Для этого можно использовать утилиту командной строки AzCopy. Есть много других клиентов, которые вы можете использовать для загрузки данных. Дополнительные сведения о них см. в статье Загрузка данных для заданий Apache Hadoop в HDInsight.

    Используйте Apache Livy для удаленной отправки задания приложения в кластер Spark. Кластеры Spark в HDInsight включают Livy, которая предоставляет конечные точки REST для удаленной отправки заданий Spark. Дополнительные сведения см. в статье Удаленная отправка заданий Apache Spark с помощью Apache Livy с кластерами Spark в HDInsight.

    Очистить ресурсы

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

    В поле поиска вверху введите HDInsight.

    Выберите кластеры HDInsight в разделе "Службы".

    В появившемся списке кластеров HDInsight выберите файл . рядом с кластером, который вы создали для этого руководства.

    Выберите Удалить. Выберите Да.

    Снимок экрана, показывающий, как удалить кластер HDInsight через портал Azure.

    Следующий шаг

    В этой статье вы узнали, как создать scala-приложение Apache Spark. Перейдите к следующей статье, чтобы узнать, как запустить это приложение в кластере HDInsight Spark с помощью Livy.

    В этой статье я хотел бы поделиться с вами тем, как создать и собрать проект Java Maven, состоящий из нескольких модулей, с помощью IntelliJ IDEA.

    Сценарий многомодульного проекта

    Таким образом, будет 3 разных проекта: общая библиотека, консольное приложение и настольное приложение. В проектах консольного приложения и настольного приложения должен использоваться общий код проекта общей библиотеки.

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

    Структура многомодульного проекта Maven

    Обратите внимание, что тип упаковки корневого проекта должен быть pom . А тип упаковки модулей может быть jar или war .

    Теперь давайте создадим этот многомодульный проект в IntelliJ IDEA.

    1. Создайте корневой проект Maven

    Новый проект Maven

    Введите имя проекта и укажите информацию о координатах артефакта, как показано ниже:

    Создать корневой проект Maven

    Нажмите «Готово». Это создаст простой проект Maven.


    2. Создайте проект SharedLibrary

    Далее мы создаем первый модуль Maven для проекта общей библиотеки. Щелкните правой кнопкой мыши корневой проект и выберите «Создать» > «Модуль»:

    Создать новое меню модуля

    Затем введите имя модуля как SharedLibrary. Обратите внимание, что родительским модулем является CompanyProject:

    Новый модуль для проекта общей библиотеки

    Нажмите «Готово». IntelliJ IDEA создаст проект SharedLibrary в CompanyProject. Вы можете заметить, что файл pom.xml корневого проекта был обновлен:

    Видите ли, он указывает тип упаковки pom и добавляет модуль с именем SharedLibrary. А в файле pom.xml этого проекта SharedLibrary он указывает родительскую информацию, как показано ниже:

    И закодируйте простой класс в этом проекте следующим образом:

    Статический метод getAppName() будет использоваться как консольным, так и настольным приложением.


    3. Создайте проект ConsoleApp

    Аналогичным образом создайте второй модуль Maven для проекта ConsoleApp. А чтобы сослаться на проект SharedLibrary, вы должны объявить зависимость в файле pom.xml проекта ConsoleApp следующим образом:

    Примечание. Возможно, вам придется перезагрузить проект Maven, чтобы обновить информацию о зависимостях.

    Затем напишите простую консольную программу следующим образом:

    Видите ли, этот класс использует класс CommonUtility из проекта SharedLibrary.


    4. Создайте проект DesktopApp

    По аналогии с проектом ConsoleApp создайте третий модуль Maven для проекта DesktopApp. В итоге мы бы объявили модули в корневом проекте следующим образом:

    В демонстрационных целях закодируйте простую программу Swing для настольного приложения следующим кодом:

    Видите ли, этот класс также использует класс CommonUtility из проекта SharedLibrary.


    5. Создайте многомодульный проект Maven в IntelliJ IDEA

    Чтобы собрать многомодульный проект Maven в IntelliJ IDEA, откройте представление Maven. Выберите корневой проект, нажмите кнопку Execute Maven Goal и дважды щелкните mvn install из списка, как показано ниже:

    Запустить цель установки Maven в IntelliJ

    Затем вы должны увидеть результат успешной сборки Maven следующим образом:

    Успех сборки Maven

    Теперь вы можете проверить целевой каталог в каждом проекте. Maven должен был сгенерировать файл jar для каждого проекта.

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

    Статьи по теме:

    Об авторе:


    Нам Ха Мин является сертифицированным программистом Java (SCJP и SCWCD). Он начал программировать на Java во времена Java 1.4 и с тех пор влюбился в Java. Подружитесь с ним на Facebook и смотрите его видео на Java на YouTube.

    Добавить комментарий

    Комментарии

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