Eu tenho uma biblioteca que distribuo usando o maven 2. O usuário típico dessa biblioteca não usa o maven para criar seus aplicativos, mas provavelmente está familiarizado com o maven e provavelmente o instalou.
Gostaria de documentar um comando "simples" de uma linha que eles possam usar para baixar os artefatos da minha biblioteca para o local deles, ~/.m2/repository
sem exigir que eles configurem um pom.xml para fazer isso.
Eu achava que havia uma maneira de fazer isso, mas eu não consigo encontrá-lo depois de olhar através do install:install-file
e dependency
documentação plugin. Eu tentei coisas como:
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
mas acho que estou latindo na árvore errada, pois parece que o plug-in de instalação é usado para copiar arquivos criados localmente no repositório local, em vez de baixar artefatos remotos no repositório local.
Este é o artefato que eu gostaria de instalar: http://download.java.net/maven/2/robo-guice/robo-guice/0.4-SNAPSHOT/
Isso é possível usando o maven?
Respostas:
Desde a versão 2.1 do Maven Dependency Plugin , existe uma dependência: get goal para esse fim. Para garantir que você esteja usando a versão correta do plug-in, será necessário usar o "nome completo":
fonte
Deprecated. Use remoteRepositories
pararepoUrl
. Atualize a resposta, talvez :)Dê a eles um pompo trivial com esses jars listados como dependências e instruções para executar:
Isso puxará as dependências para o repositório local.
Uma solução mais direta é a dependência: get , mas há muitos argumentos para digitar:
fonte
get
mojo realmente espera-DrepoUrl
estar presente, não-DrepositoryUrl
. Em relação aos argumentos para digitar, não há mágica, você precisa fornecer essas informações de uma maneira ou de outra.A partir da versão 2.4 do Maven Dependency Plugin , você também pode definir um destino de destino para o artefato usando o sinalizador -Ddest. Ele deve apontar para um nome de arquivo (não um diretório) para o artefato de destino. Consulte a página de parâmetros para obter parâmetros adicionais que podem ser usados
fonte