Если у вас уже настроен веб-сервер, указывающий на веб-папку, простой способ развертывания пользовательского JAR-файла - использовать deploy:deploy-file
Mojo. Как описано на странице Использование плагина Maven Deploy:
Используется deploy:deploy-file
mojo
в первую очередь для развертывания артефактов в
которые не были построены Maven.
Команда разработчиков проекта может или может
не предоставлять POM для артефакта,
и в некоторых случаях вы можете захотеть
развернуть артефакт на внутреннем
удаленный репозиторий. Файл deploy
mojo обеспечивает функциональное покрытие
все эти варианты использования, и предлагает
широкий диапазон конфигурируемости для
генерировать POM на лету.
Кроме того, вы можете указать, что
макет вашего хранилища использует. Полный
оператор использования файла deploy
Моджо можно описать так:
mvn deploy:deploy-file -Durl=file://C:\m2-repo \
-DrepositoryId=some.id \
-Dfile=your-artifact-1.0.jar \
[-DpomFile=your-pom.xml] \
[-DgroupId=org.some.group] \
[-DartifactId=your-artifact] \
[-Dversion=1.0] \
[-Dpackaging=jar] \
[-Dclassifier=test] \
[-DgeneratePom=true] \
[-DgeneratePom.description="My Project Description"] \
[-DrepositoryLayout=legacy] \
[-DuniqueVersion=false]
Обязательны только 3 первых параметра (краткая версия). Если вам интересно, что такое repositoryId , документация Mojo гласит:
Идентификатор сервера для сопоставления в <id>
в разделе <server>
settings.xml
В большинстве случаев этот параметр потребуется для аутентификации. Значение по умолчанию: удаленный репозиторий.
Другими словами, самый простой способ использовать это - скопировать ваш пользовательский JAR на компьютер, на котором размещен веб-сервер, и использовать протокол file://
при указании URL. Никаких дополнительных настроек не требуется. Если вы хотите развернуть удаленно, то scp://
часто является предпочтительным протоколом (есть другие, но этот довольно прост в настройке). Ниже приведен пример использования scp:
mvn deploy:deploy-file -DgroupId=my.group -DartifactId=myartifact -Dversion=1.0 \
-DgeneratePom=true \
-Dpackaging=jar \
-Dfile=custom.jar \
-DrepositoryId=some.id \
-Durl=scp://REMOTEMACHINE/PATH/TO/WEB_ROOT/maven2_repository
На самом деле, использование веб-сервера для размещения собственного репозитория Maven прекрасно, но его инициализация может быть немного болезненной. Одним из решений этой проблемы является использование прокси-сервера Maven (например, Nexus ) вместо простого репозитория Maven. Но это выходит за рамки вашего вопроса.
Для получения дополнительной информации об этом проверьте (принципы остаются в силе, даже если решения по реализации немного устарели):