Настройка Src m2 через компьютер

Обновлено: 21.11.2024

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

Профили указываются в файле pom.xml с помощью его элементов activeProfiles/profiles и запускаются различными способами. Профили изменяют POM во время сборки и используются для задания параметров различных целевых сред (например, пути к серверу базы данных в средах разработки, тестирования и производства).

Типы профиля сборки

Профили сборки в основном бывают трех типов.

Тип Где он определен
Для каждого проекта Определяется в POM-файл проекта, pom.xml
Для пользователя Определено в XML-файле настроек Maven (%USER_HOME%/.m2/settings.xml)
Global Определено в XML-файле глобальных настроек Maven (%M2_HOME%/conf/settings.xml)

Активация профиля

Профиль сборки Maven можно активировать различными способами.

  • Явное использование ввода командной консоли.
  • Через настройки maven.
  • На основе переменных среды (пользовательских/системных переменных).
  • Настройки ОС (например, семейство Windows).
  • Присутствующие/отсутствующие файлы.

Примеры активации профиля

Предположим, что у вашего проекта следующая структура каталогов —

Теперь в src/main/resources есть три файла, специфичных для среды —

окружение.свойства

используется конфигурация по умолчанию, если профиль не указан.

env.test.properties

тестовая конфигурация при использовании тестового профиля.

env.prod.properties

производственная конфигурация при использовании профиля prod.

Явная активация профиля

В следующем примере мы добавим цель maven-antrun-plugin:run для проверки фазы. Это позволит нам отображать текстовые сообщения для разных профилей. Мы будем использовать pom.xml для определения различных профилей и активируем профиль в командной консоли с помощью команды maven.

Предположим, мы создали следующий файл pom.xml в папке C:\MVN\project.

Теперь откройте командную консоль, перейдите в папку, содержащую pom.xml, и выполните следующую команду mvn. Передайте имя профиля в качестве аргумента, используя параметр -P.

Maven начнет обработку и отображение результатов профиля тестовой сборки.

Теперь в качестве упражнения вы можете выполнить следующие шаги:

Добавьте еще один элемент профиля в элемент profiles файла pom.xml (скопируйте существующий элемент профиля и вставьте его там, где заканчиваются элементы профиля).

Обновить идентификатор этого элемента профиля с тестового на обычный.

Обновите раздел задачи, чтобы отразить env.properties и скопировать env.properties в целевой каталог.

Снова повторите три вышеуказанных шага, обновите id до prod и раздела task для env.prod.properties.

Это все. Теперь у вас есть три готовых профиля сборки (обычный/тестовый/производственный).

Теперь откройте командную консоль, перейдите в папку, содержащую pom.xml, и выполните следующие команды mvn. Передайте имена профилей в качестве аргумента, используя параметр -P.

Проверьте выходные данные сборки, чтобы увидеть разницу.

Активация профиля через настройки Maven

Откройте файл Maven settings.xml, доступный в каталоге %USER_HOME%/.m2, где %USER_HOME% представляет домашний каталог пользователя. Если файла settings.xml нет, создайте новый.

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

Теперь откройте командную консоль, перейдите в папку, содержащую pom.xml, и выполните следующую команду mvn. Не передавайте имя профиля с помощью параметра -P. Maven отобразит результат тестового профиля как активного профиля.

Активация профиля с помощью переменных среды

Теперь удалите активный профиль из maven settings.xml и обновите тестовый профиль, указанный в pom.xml. Добавьте элемент активации в элемент профиля, как показано ниже.

Тестовый профиль запускается, когда для системного свойства "env" указано значение "test". Создайте переменную среды "env" и установите для нее значение "test".

Давайте откроем командную консоль, перейдем в папку, содержащую pom.xml, и выполним следующую команду mvn.

Активация профиля через операционную систему

Элемент активации для включения сведений об ОС, как показано ниже. Этот тестовый профиль сработает, если используется система Windows XP.

Теперь откройте командную консоль, перейдите в папку, содержащую pom.xml, и выполните следующие команды mvn. Не передавайте имя профиля с помощью параметра -P. Maven отобразит результат тестового профиля как активного профиля.

Активация профиля с помощью существующего/отсутствующего файла

Теперь элемент активации включает сведения об ОС, как показано ниже. Профиль теста сработает, если отсутствует target/generated-sources/axistools/wsdl2java/com/companyname/group.

Теперь откройте командную консоль, перейдите в папку, содержащую pom.xml, и выполните следующие команды mvn. Не передавайте имя профиля с помощью параметра -P. Maven отобразит результат тестового профиля как активного профиля.

Узнайте, как установить Maven в операционной системе Windows. В этом руководстве по установке Maven мы устанавливаем Maven на компьютер с Windows 11. Шаги одинаковы и для компьютера с Windows 10.

1. Переменные среды Windows

Maven – это средство управления сборкой и зависимостями для разработки приложений Java. Как и многие другие средства разработки Java, Maven не устанавливается как служба Windows, а настраивается с использованием переменных среды Windows.

Опция переменных среды Windows

2. Шаги по установке и настройке Maven

Выполните шаги, необходимые для установки maven в операционной системе Windows.

2.1. Проверьте установленный JDK и переменную среды JAVA_HOME

На нашем компьютере должна быть установлена ​​Java, а JAVA_HOME должен быть установлен в переменных среды.

Чтобы установить Java, загрузите установщик JDK и установите Java. Затем добавьте/обновите переменную JAVA_HOME в папку установки JDK.

На моем компьютере JAVA_HOME указывает на папку установки JDK 17.

Переменная JAVA_HOME

2.2. Загрузите и распакуйте ZIP-файл Maven

Мы можем скачать последнюю версию Maven с официального сайта. Теперь нам нужно распаковать загруженный zip-файл в любое место.

Я распаковал его на C:\devsetup\maven . Вы можете выбрать собственное местоположение папки.

Папка установки Maven

Давайте кратко обсудим, что содержится в этих каталогах:

  • Папка bin содержит пакетные файлы и скрипты оболочки для запуска Maven на различных платформах.
  • Папка загрузки содержит jars, необходимые для запуска Maven.
  • Папка conf содержит файл settings.xml по умолчанию, используемый Maven.
  • Папка lib содержит библиотеки, используемые Maven. Он также содержит папку ext, в которую можно поместить сторонние расширения, которые могут расширять или переопределять реализацию Maven по умолчанию.

2.3. Добавить переменную среды M2_HOME

Начиная с Maven 3.5.0, переменная среды M2_HOME больше не используется и не поддерживается. Мы можем пропустить настройку переменной M2_HOME с последней версией Maven.

Теперь добавьте M2_HOME в переменные среды Windows. Значением будет место установки на вашем компьютере.

Обратите внимание, что это необязательный шаг, но настоятельно рекомендуется. Многие внешние IDE и инструменты полагаются на переменную M2_HOME для работы с Maven.

Добавить переменную среды M2_HOME

2.4. Включить каталог «bin» в переменную PATH

Чтобы запускать команды Maven из консоли, Windows должна иметь возможность найти пакетные файлы Maven. Обновите переменную PATH, указав каталог '%M2_HOME%\bin' .

Добавить путь к папке Maven bin

3. Проверка установки Maven

Установка Maven завершена. Теперь давайте проверим его из командной строки Windows.

  1. Перейдите в меню "Пуск" и введите cmd в поле поиска местоположения приложения.
  2. Нажмите клавишу ВВОД . Откроется новая командная строка.
  3. Введите mvn -version в командной строке и нажмите ENTER .

Команда mvn запускает этот командный файл mvn.bat из папки bin в месте установки Maven. Вот почему мы добавили местоположение в переменную среды PATH.

После проверки JAVA_HOME и любых необязательных аргументов (Maven_OPTS) пакетный файл запускает свой основной класс org.codehaus.plexus.classworlds.launcher.Launcher .

Проверка установки Maven

Должна отображаться информация о версии Maven, путь к папке Maven bin и установленная версия Java.

Если вы столкнулись с какой-либо ошибкой в ​​командной строке, перепроверьте все вышеперечисленные шаги.

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

Вы также можете создать проект Maven и сохранить его в среде WSL или открыть из файловой системы WSL. Дополнительные сведения см. в разделе WSL.

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

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

Если в настоящее время в IntelliJ IDEA нет открытых проектов, нажмите «Новый проект» на экране приветствия. В противном случае выберите Файл | Новый | Проект из главного меню.

Выберите Maven из вариантов слева.

Укажите SDK проекта (JDK) или используйте пакет по умолчанию и архетип, если вы хотите использовать предопределенный шаблон проекта (настройте свой собственный архетип, нажав Добавить архетип ).

На следующей странице мастера укажите следующие координаты Maven, которые добавляются в файл pom.xml:

GroupId - пакет нового проекта.

ArtifactId - название вашего проекта.

Версия - версия нового проекта. По умолчанию это поле указывается автоматически.

Дополнительную информацию о координатах Maven см. в разделе Соглашения об именах Maven.

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

Укажите настройки имени и местоположения.

IntelliJ IDEA создает проект Maven с файлом pom.xml, который включает компилятор и целевые версии Java, специальное окно инструментов Maven и все необходимые зависимости для начала работы.

Версия Java, указанная в файле pom.xml, переопределяет версию, указанную в параметре JDK for Importer в настройках Maven.

Создание проекта Java EE с помощью Maven в качестве инструмента сборки

Запустите мастер создания нового проекта. Если в настоящее время в IntelliJ IDEA не открыто ни одного проекта, нажмите «Новый проект» на экране приветствия. В противном случае выберите Файл | Новый | Проект из главного меню.

Выберите Java Enterprise из вариантов слева.

Оставьте параметр Maven по умолчанию в качестве инструмента сборки и нажмите "Далее".

На следующей странице мастера выберите дополнительные библиотеки и фреймворки для вашего проекта и нажмите "Далее" .

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

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

Для получения более подробной информации см. Учебное пособие: Ваше первое приложение Java EE.

Открыть существующий проект Maven

В главном меню выберите Файл | Открыть .

Либо нажмите "Открыть" на экране приветствия.

Если у вас есть пользовательские подключаемые модули, требующие импорта проекта из модели IntelliJ IDEA, нажмите Ctrl+Shift+A и найдите действие «Проект из существующих источников».

В открывшемся диалоговом окне выберите файл pom.xml проекта, который вы хотите открыть.

В открывшемся диалоговом окне нажмите Открыть как проект .

IntelliJ IDEA открывает и синхронизирует проект Maven в среде IDE. Если вам нужно настроить параметры импорта при открытии проекта, обратитесь к настройкам Maven. Например, если у вас есть параметры Maven, настроенные в файле maven/config, и вы хотите использовать их в своем проекте, выберите параметр «Использовать параметры из .mvn/maven.config» в настройках Maven.

Если у вас есть проект Maven с настроенной оболочкой Maven, IntelliJ IDEA возьмет версию Maven из файла maven.properties и добавит ее в качестве домашнего пути Maven.

Настройте параметры Maven перед открытием нового проекта

Вы можете настроить IntelliJ IDEA для отображения настроек Maven перед открытием нового проекта Maven. (Новым проектом Maven в данном случае является существующий проект, который вы впервые открываете в IntelliJ IDEA.) Поскольку это параметры уровня приложения, они применяются к любому новому проекту, который вы открываете.

На экране приветствия выберите Настроить | Все настройки.

Кроме того, в главном меню выберите «Файл» | «Настройка нового проекта» | Настройки для новых проектов .

В диалоговом окне «Настройки/Настройки» выберите «Сборка, выполнение, развертывание | Инструменты сборки | Мейвен .

В диалоговом окне настроек Maven выберите диалоговое окно Показать настройки для новых проектов Maven.

Нажмите "ОК", чтобы сохранить изменения.

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

Добавить новый модуль Maven в существующий проект

Вы можете добавить модуль Maven в проект, в котором вы уже работаете.

В окне инструмента "Проект" щелкните правой кнопкой мыши папку проекта и выберите "Создать | Модуль . Либо в главном меню выберите Файл| Новый | Модуль, чтобы открыть мастер создания нового модуля.

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

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

Настройка многомодульного проекта Maven

Вы можете создать многомодульный проект Maven в IntelliJ IDEA. Многомодульный проект определяется родительским файлом POM с несколькими подмодулями.

Если у вас установлен Maven версии 3.7 или более поздней, IntelliJ IDEA будет поддерживать импорт проекта из модели MNG-6656.

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

Создайте родительский проект Maven. IntelliJ IDEA создает стандартный макет Maven, включая папку src.

В окне инструмента "Проект" удалите папку src, так как она понадобится вам только в очень редких случаях. Для вашего общего проекта вам не нужна папка src для родительского POM.

В окне инструмента "Проект" щелкните проект правой кнопкой мыши (или в главном меню выберите "Файл" ) и выберите "Создать | Модуль для добавления подпроекта.

В мастере создания нового модуля, следуя инструкциям по добавлению модуля, укажите необходимую информацию и нажмите "Готово".

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

В многомодульном проекте родительский POM должен иметь упаковку pom.

И последнее, но не менее важное: IntelliJ IDEA добавляет описание родительского POM в POM подпроекта.

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

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

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

Доступ к настройкам Maven

Используйте настройки Maven для настройки таких параметров, как версия Maven, локальный репозиторий, автономный режим и т. д.

В диалоговом окне «Настройки/Настройки» ( Ctrl+Alt+S ) выберите «Сборка, выполнение, развертывание| Мейвен .

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

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

Используйте оболочку Maven или пользовательскую версию Maven

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

В главном меню выберите Файл | Настройки/Предпочтения | Сборка, выполнение, развертывание |Инструменты сборки | Мейвен .

На странице настроек Maven в поле Домашний каталог Maven укажите расположение установки пользовательской версии Maven. Для оболочки Maven выберите из списка параметр использования оболочки Maven. В этом случае будет использоваться версия Maven, указанная в файле .mvn/wrapper/maven-wrapper.properties.

Изменить версию JDK в проекте Maven

Есть несколько мест, где вы можете изменить версию JDK, что повлияет не только на ваш текущий проект, но и на все приложение.

Изменить версию JDK в структуре проекта

Изменение версии JDK в диалоговом окне "Структура проекта" повлияет только на текущий проект.

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

В открывшемся диалоговом окне в Project SDK укажите версию JDK и нажмите OK, чтобы сохранить изменения.

Изменить версию JDK для бегуна Maven

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

Изменение JDK для Maven runner повлияет только на текущий проект.

В диалоговом окне «Настройки/Настройки» ( Ctrl+Alt+S ) выберите «Сборка, выполнение, развертывание | Мавен | Бегун .

На открывшейся странице в поле JRE выберите версию JDK.

Изменить версию JDK для импортера Maven

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

В диалоговом окне «Настройки/Настройки» ( Ctrl+Alt+S ) выберите «Сборка, выполнение, развертывание | Мавен | Импорт .

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

Я пытался установить Maven в Windows 7, но безуспешно. Немного основной информации:

Каталог установки Maven: C:\Program Files\Apache Software Foundation\apache-maven-3.0.4 Системная переменная " M2_HOME ": C:\Program Files\Apache Software Foundation\apache-maven-3.0.4\ Системная переменная "Путь": %M2_HOME%apache-maven\src\bin;%JAVA_HOME%\bin

Если я запускаю mvn --version в пути к команде, я получаю сообщение об ошибке:

Установите переменную M2_HOME в вашей среде в соответствии с расположением установки Maven

Итак, на данный момент подкаталог для mvn не установлен в соответствии с инструкциями, который будет %M2_HOME%\bin . Если я заменю %M2_HOME%apache-maven\src\bin этим, я получу:

mvn не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл

В каталоге установки Maven (или в zip-файле) нет папки \bin непосредственно в apache-maven-3.0.4 и интересно, должна ли она быть?

Я новичок в Maven, надеюсь, вы, ребята, сможете мне помочь.

Кстати, команда Java работает из любого каталога, поэтому я не думаю, что здесь проблема, но я не уверен.

Если загруженный пакет apache-maven-3.0.4 не содержит папки bin, значит, загрузка неверна. вы должны загрузить zip-файл, который содержит папку bin, boot, conf, lib, иначе что-то пошло не так. Загруженный файл должен иметь размер около 4,8 МБ.

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

MikkoP В большинстве проектов исполняемые файлы находятся в папке \bin, код - в папке \src. Если вы скачали бинарный пакет maven, правильный путь — \apache-maven-x.y.z\bin

16 ответов 16

В M2_HOME - установите C:\apache-maven-3.0.4, т.е. путь без bin . В PATH установите %M2_HOME%\bin т.е. с bin в пути.

Если загруженный пакет apache-maven-3.3.9 не содержит папки bin, значит, загрузка неверна. вы должны загрузить zip-файл, который содержит папку bin, boot, conf, lib, иначе что-то пошло не так. Загруженный файл должен иметь размер около 4,8 МБ. Вы можете проверить файл с помощью контрольных сумм md5 или SHA1.

В 3.3.1 файлы *.bat исчезли и остались только файлы *.cmd. .CMD такие же, как .BAT, и некоторые программы ожидают их. Я переименовал .CMD в .BAT, чтобы он работал под Netbeans. Это привело к тому, что «Maven M2_HOME установлен в недопустимый каталог». Копирование .BAT в .CMD (т.е. оба были в папке) решило проблему.

У меня есть оба из них: mvn.cmd, который поставляется с установкой maven, и mvn.bat, который перенаправляет на него (%M2_HOME%\bin\mvn.cmd %*). Это полезно, если вы используете подключаемый модуль Maven Release.

В моем случае настройка была правильной:

Системные переменные Windows:

  • M2 C:\dev\software\apache-maven-3.3.9\bin
  • M2_HOME C:\dev\software\apache-maven-3.3.9

Переменные пользователя Windows:

Но у меня была та же проблема, когда было две установки maven, хотя все ссылки указывали на последнюю версию, которая в моем случае была 3.3.9. После удаления старой версии та же команда распознала maven.

Любой намек, почему более старшая версия имеет проблемы с существованием более старой версии, даже если мы указываем более старшую версию в m2_home?

@SanjayJain не уверен; возможно, при удалении или установке не удалось удалить ссылку на старую версию. У меня не было времени на расследование.

У меня такая же проблема на моем компьютере, и я решил ее:

Для меня переменная PATH имела старую версию maven. Поэтому я обновил его. Я должен был использовать %M2_HOME%, но я указал путь.

Только сейчас я столкнулся с той же проблемой. В моем случае проблема заключалась в том, что PATH не был правильно установлен для включения %M2_HOME%\bin . После правильной установки проблема была решена.

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

Избавьтесь от переменной окружения M2_HOME. Он не используется maven 3 и фактически сбивает его с толку. Если вы использовали его на своем пути, то либо явно укажите путь к maven bin, либо измените его на что-то другое, например M3_HOME.

Все успехи после следующих шагов.

Имеет старую версию MVN в другом каталоге, который отображается в пути поиска. Удалил старую версию и все заработало. Используется поиск файлов Windows для сканирования диска на наличие всех экземпляров «mvn», чтобы найти старую версию.

Добавить все расположение корзины в переменную среды "PATH", например: C:\Program Files\Apache Software Foundation\apache-maven-3.0.4\bin

Не нужен M2_HOME, M2. Мне помогло

Microsoft Windows [Версия 10.0.14393] (c) Корпорация Microsoft, 2016 г. Все права защищены.

C:\Users\XXXX>mvn -version Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T22:11:47+05:30) Главная страница Maven: C:\Program Files\Apache Software Foundation \apache-maven-3.3.9\bin.. Версия Java: 1.8.0_91, поставщик: Oracle Corporation Домашняя страница Java: C:\Program Files\Java\jdk1.8.0_91\jre Язык по умолчанию: en_US, кодировка платформы: Cp1252 OS имя: "windows 10", версия: "10.0", архитектура: "amd64", семейство: "dos"

Проверьте системную переменную M2_HOME и PATH в разных местах maven.

установите «M2_HOME» и «PATH» в переменных среды для вашей учетной записи, удалите «PATH» из системных переменных среды.

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

Быстрый ответ
Из-за проблем с использованием M2_HOME, связанных с различными установленными версиями Maven, и для упрощения использование M2_HOME было удалено и больше не поддерживается. Еще одно важное изменение для пользователей Windows: использование %HOME% было заменено на %USERPROFILE%

Более подробный ответ
То, что вы наблюдали, всегда было проблемой с maven. Когда вы устанавливаете две разные версии в один и тот же каталог, обнаруживается более старая версия, а более новая — нет.
После выпуска Maven 3.3.9 проект Eclipse Aether был закрыт, а кодовая база была перенесена в проект Apache Maven. Первоначальная цель выпуска 3.4.0 заключалась в том, чтобы заменить Aether точно таким же кодом после перехода на проект Apache Maven, а затем продолжить исправление ошибок в коде распознавателя, а также в других областях Maven. Этого не произошло, как предполагалось, и было принято решение навсегда сжечь линейку релизов 3.4.x. Переход на 3.5 принес с собой эти изменения

TL;DR Hack — добавить как библиотеку в проект IntelliJ. Тактика - добавить в качестве системной области в maven. Тактика/Стратегия - установить локально в .m2. Стратегический — используйте инструмент управления репозиторием, публикуйте в центральном хранилище maven

Иногда вам нужно работать с JAR-файлом, который не размещен в Maven Central.

Это может быть сторонний jar-файл или написанный вами.

У вас есть много вариантов для этого. Подходы, которые я использовал:

  • добавить файлы .jar в качестве зависимости проекта IntelliJ
  • установите его локально в репозиторий .m2
  • добавьте его в свой проект как системный файл
  • используйте инструмент управления репозиторием, например Nexus или Archiva
  • опубликовать зависимость от центра maven

Быстрый прием: добавьте jar в качестве зависимости проекта IntelliJ

Для очень быстрого взлома добавьте .jar в качестве зависимости проекта IntelliJ и обойдите maven.

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

Это очень тактический подход:

  • не масштабируется
  • это не поможет вам работать с другими людьми
  • это не очень хорошо для CI или контроля версий

Но это может помочь вам выполнить свою непосредственную работу:

  • поэкспериментировать
  • попробовать что-нибудь
  • выполнить задание

А затем примените один из следующих подходов, если он сработает.

Добавить в проект как системный файл

В качестве краткосрочной тактики я также добавил .jar в качестве файла системной области.

Я делал это в прошлом, когда работал с версией Selenium WebDriver с исправлением ошибок, которая еще не была распространена на maven Central, но была доступна для загрузки.

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

Установите .jar локально в репозиторий .m2

Чтобы файл .jar был доступен в качестве зависимости, которую я могу добавить с помощью обычного включения maven, я могу установить файл .jar локально в свой каталог и репозиторий .m2.

Это объясняется на веб-сайте maven:

И этот подход я использую в данный момент при работе со своим игровым движком RestMud

Я разделил свою игру на несколько проектов:

  • игровой движок (который теперь доступен на github с открытым исходным кодом)
  • Игра RestMud, веб-сервер и REST API

Я не размещал игровой движок в Maven Central, но код доступен на github, как и файл релиза .jar.

Я могу локально создать снимок .jar для своей текущей работы.

Установить в мою папку .m2

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

И если я хочу, чтобы jar исходного кода был связан с .jar (что я обычно и делаю), я добавляю в командную строку следующий аргумент:

Это позволяет мне сохранить pom.xml моих проектов, использующих .jar, так, как если бы .jar находился в менеджере репозитория или в центральном maven.

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

Использовать инструмент управления репозиторием

Вы можете установить инструмент управления зависимостями, например Nexus или Archiva.

Затем ваши файлы .jar устанавливаются в этот репозиторий, доступный вашей команде и процессу CI, а не только вашей локальной машине разработки.

Документация Maven по репозиториям:

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

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

Это гораздо более стратегический подход, который подходит для командной работы и процессов непрерывной интеграции.

Опубликовать в Maven Central

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

Все остальные упомянутые подходы позволяют вам держать свою работу при себе.

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

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