Mam bibliotekę, którą rozpowszechniam za pomocą mavena 2. Typowy użytkownik tej biblioteki nie używa mavena do tworzenia swoich aplikacji, ale prawdopodobnie jest trochę zaznajomiony z mavenem i prawdopodobnie ma go zainstalowanego.
Chciałbym udokumentować „proste” jedno wierszowe polecenie, którego mogą użyć do pobrania artefaktów mojej biblioteki do lokalnego, ~/.m2/repository
bez konieczności konfigurowania w tym celu pliku pom.xml.
Myślałem, że istnieje sposób, aby to zrobić, ale nie mogę go znaleźć po przejrzeniu dokumentacji wtyczki install:install-file
i dependency
. Próbowałem takich rzeczy jak:
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
ale wydaje mi się, że szczekam niewłaściwe drzewo, ponieważ wydaje się, że wtyczka instalacyjna jest używana do kopiowania lokalnie wbudowanych plików do lokalnego repozytorium, zamiast pobierania zdalnych artefaktów do lokalnego repozytorium.
To jest artefakt, który chcę zainstalować: http://download.java.net/maven/2/robo-guice/robo-guice/0.4-SNAPSHOT/
Czy jest to możliwe przy użyciu Mavena?
Odpowiedzi:
Od wersji 2.1 wtyczki Maven Dependency Plugin istnieje zależność: pobierz cel w tym celu. Aby upewnić się, że używasz właściwej wersji wtyczki, musisz użyć „w pełni kwalifikowanej nazwy”:
źródło
Deprecated. Use remoteRepositories
dlarepoUrl
. Może zaktualizuj odpowiedź :)Daj im trywialny pom z tymi słoikami wymienionymi jako zależności i instrukcje do uruchomienia:
Spowoduje to ściągnięcie zależności do lokalnego repozytorium.
Bardziej bezpośrednim rozwiązaniem jest zależność: get , ale jest dużo argumentów do wpisania:
źródło
get
Mojo rzeczywiście spodziewa-DrepoUrl
się być obecny, nie-DrepositoryUrl
. Jeśli chodzi o argumenty do wpisania, nie ma magii, musisz podać te informacje w taki czy inny sposób.Począwszy od wersji 2.4 wtyczki Maven Dependency Plugin , można także zdefiniować miejsce docelowe artefaktu, używając flagi -Ddest. Powinien wskazywać na nazwę pliku (nie katalog) dla artefaktu docelowego. Zobacz stronę parametrów, aby uzyskać dodatkowe parametry, których można użyć
źródło