2017-01-06 3 views
0

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

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

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

+1

Есть ли в банке зависимости для запуска? Вам нужно загрузить все зависимости или только банку? – gba

+0

Да, зависимости тоже. Хотя я могу упаковать зависимости в самой банке. –

+0

1. Кажется, не совсем то, что должен использовать maven для 2. Настройка зависимостей не загружает «источники» (я считаю, вы имеете в виду исходный код?) Зависимости. 3. Я думаю, вы можете просто создать POM (с типом 'pom', вероятно, будет работать), объявить зависимость для проекта, который вы хотите скачать, и использовать плагин maven-exec. Я не знаю, почему вы хотели бы сделать это в Maven, хотя ... –

ответ

3

Если это возможно для вас чтобы загрузить только один файл в Artifactory (я предполагаю, что вы используете artifactory из тега), можно загрузить файл с помощью простого запроса HTTP get (через Artifactory REST API), например curl, или даже использовать JFrog cli ,

Я рекомендую использовать CLI: https://www.jfrog.com/confluence/display/CLI/CLI+for+JFrog+Artifactory

Чтобы использовать Artifactory REST API напрямую перейти к: https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API

Получить Artefact апи или Получить последнюю Артефакт может быть полезным.

1

вы можете просто загрузить файл с помощью CLI при условии, что у вас установлен maven. Ниже приведен пример команды.

call mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get -DrepoUrl=<your nexus url> -Dartifact=<groupid>:<artifactid>:<version>:jar:jar-with-dependencies -Ddest=<destination> 
1

Вы пробовали использовать exec-maven-plugin? http://www.mojohaus.org/exec-maven-plugin/examples/example-exec-for-java-programs.html То есть, если вы хотите выполнить работу с Maven (мне это не очень понятно, если вы делаете или не хотите использовать Maven на своей удаленной машине).

Примечание: переупаковка зависимостей в исполняемой банке не будет хорошей практикой. Вы все равно можете создать архив распространения вместе с вашей банкой (посмотрите на maven-assembly-plugin https://maven.apache.org/plugins/maven-assembly-plugin/) и используйте этот архив.

Смежные вопросы