Utilitário para download de artefatos de repo maven sem mvn / poms

votos
4

Existe um cliente maven que não é MVn (o binário incluído na distribuição maven) eu poderia usar para puxar para baixo um artefato de um repositório maven sem usar um pom? Eu gostaria de usar um repositório maven como o repo para a nossa equipe ops para pegar constrói (incluindo instantâneos de compilações), mas eu não quero que eles tem que mexer com escrita poms e declarando dependências neles. Idealmente, eu estou procurando apenas um cliente cli que eu poderia apenas passar um url repo e coordenadas e baixar um determinado artefato. Será que tal coisa existe ou estou melhor escrever um script one-off para isso?

Publicado 19/05/2009 em 21:17
fonte usuário
Em outras línguas...                            


6 respostas

votos
7

Vejo 3 opções fáceis:

  1. Basta enviar-lhes um link que aponta em seu artefato em seu repositório e tê-los usar seu browser.
  2. Instalar e usar wget( wget http://path/to/artifact.extension).
  3. Instalar e usar mvn dependency:get(requer mvnmas não exigem um pom.xml, veja esta resposta para mais detalhes).
Respondeu 10/12/2009 em 13:53
fonte usuário

votos
4

Use Nexus. Ele fornece uma interface web que outras equipes podem usar para baixar artefatos. http://nexus.sonatype.org/

Respondeu 19/05/2009 em 23:52
fonte usuário

votos
3

Use o embedder maven . Mais precisamente, utilizar a funcionalidade no interior do dispositivo de incorporação perito para a resolução e baixar frascos. Embora se você está tentando escrever apenas um simples CLI, a estrutura repositório não é complexo e você poderia facilmente escrever um script que leva um maven repo url, ID artefato, ID de grupo e versão para gerar o URL completo para o jar.

Respondeu 19/05/2009 em 21:25
fonte usuário

votos
1

Isto é como nós o fazemos em jcabi-éter :

final File repo = this.session.getLocalRepository().getBasedir();
final Collection<Artifact> deps = new Aether(this.getProject(), repo).resolve(
  new DefaultArtifact("junit", "junit-dep", "", "jar", "4.10"),
  JavaScopes.RUNTIME
);

Tudo que você precisa para fornecer a esta lib é 1) uma lista de repositórios remotos, 2) localização de um repo local, e 3) Maven coordenadas do artefato. A biblioteca usa Apache Aether de Sonatype.

Respondeu 28/10/2012 em 13:35
fonte usuário

votos
0

Pense sobre Pax URL que permite usar URLs simples para fazer referência a artefatos Maven assim:

mvn: groupId / artifactId / versão

Ver PAX URL do site para mais informações (MVN Protocol Handler).

Toni

Respondeu 10/12/2009 em 12:28
fonte usuário

votos
0

Bem, tecnicamente, o repositório é acessado através de HTTP, então dada a localização do repositório, artefato e coordenadas, ele deve apenas ser possível dar aos seus ops juntar uma URL para o artefato que eles podem bater em qualquer browser.

Respondeu 20/05/2009 em 04:38
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more