У меня есть библиотека, которую я распространяю с помощью maven 2. Типичный пользователь этой библиотеки не использует maven для создания своих приложений, но, вероятно, немного знаком с maven и, вероятно, установил его.
Я хотел бы задокументировать "простую" однострочную команду, которую они могут использовать для загрузки артефактов моей библиотеки на свой локальный компьютер, ~/.m2/repository
не требуя, чтобы они создавали для этого pom.xml.
Я думал, что есть способ сделать это, но не нашел его, просмотрев документацию по плагину install:install-file
и dependency
. Я пробовал такие вещи, как:
mvn install:install-file -DrepositoryId=java.net -Durl=http://download.java.net/maven/2/ -Dfile=robo-guice-0.4-20091121.174618-1.jar -DpomFile=robo-guice-0.4-20091121.174618-1.pom -DgroupId=robo-guice -DartifactId=robo-guice -Dversion=0.4-SNAPSHOT -Dpackaging=jar
но я думаю, что лаяю не на то дерево, поскольку кажется, что плагин установки используется для копирования локально созданных файлов в локальный репозиторий, а не для загрузки удаленных артефактов в локальный репозиторий.
Это артефакт, который я хотел бы установить: http://download.java.net/maven/2/robo-guice/robo-guice/0.4-SNAPSHOT/
Возможно ли это с помощью maven?
Ответы:
Начиная с версии 2.1 подключаемого модуля Maven Dependency , для этой цели существует зависимость: получить цель. Чтобы убедиться, что вы используете правильную версию плагина, вам нужно будет использовать «полное имя»:
источник
Deprecated. Use remoteRepositories
дляrepoUrl
. Пожалуйста, обновите ответ, возможно :)Дайте им банальный pom с этими jar-файлами, указанными как зависимости и инструкции для запуска:
Это перетащит зависимости в локальное репо.
Более прямое решение - это dependency: get , но нужно ввести много аргументов:
источник
get
Харизмы на самом деле ожидает ,-DrepoUrl
чтобы присутствовать, не-DrepositoryUrl
. Что касается аргументов типа, здесь нет никакого волшебства, вам нужно предоставить эту информацию тем или иным способом.Начиная с версии 2.4 подключаемого модуля Maven Dependency , вы также можете определить целевое назначение для артефакта с помощью флага -Ddest. Он должен указывать на имя файла (а не на каталог) для артефакта назначения. См. Страницу параметров для дополнительных параметров, которые можно использовать
источник