Jars personalizados no Maven

7 respostas
B

Gente, tudo bem ?!
Estou estudando Maven para começar a utilizá-lo em meus projetos. Ainda não posso dizer que entendi tudo, mas ja entendi alguma coisa. Contudo, tem um detalhe que eu ainda não conseguir achar a resposta ou explicação em lugar nenhum.

Sei que em projetos Maven não colocamos Jars na pasta lib como em um projeto web normal por exemplo. Declaramos o jar no pom.xml e automaticamente ele irá baixar esse jar quando necessário do repositorio do Maven (criando uma cópia desse jar, para que não seja necessário baixá-lo novamente no futuro).
Contudo, o que eu faço em uma situação onde o jar não está nesse repositorio do Maven.

Suponhamos que eu personalizei algo e criei o jar, e que utilizo esse jar em outros projetos. Como faço para declarar esse jar no projeto Maven, e fazê-lo usar quando necessário. Não posso simplesmente declarar no pom.xml, pq ele iria tentar baixar do repositório, certo !?
Por favor me ajudem, e/ou me corrijam se eu entendi algo errado.

Agradeço desde já

7 Respostas

M

E ai meo,

Cara primeiramente o maven “procura” as suas dependências no seu repositório local. Geralmente fica em ${user.home}/.m2 (PS: você pode customizar esse local caso queira).

Seguindo essa linha quando você precisa disponibilizar um jar customizado, basta que você coloque no “m2” para que o maven o encontre.

Se for um projeto seu que você gostaria de disponibilizar, por exemplo, um jar. Basta que você execute o comando mvn install. Automaticamente o maven irá instalar o seu jar no repositório local de acordo com o pom (groupId, artifactId e version).

Se você tiver um jar de terceiro que você queira disponibilizar, por exemplo um driver de banco, e você não tem um pom. Você pode passar alguns parâmetros para o mvn install. Mais informações sobre esses parâmetros aqui: http://maven.apache.org/plugins/maven-install-plugin/usage.html.

Existe a possibilidade de você usar um repositório de jar e tal que fica disponível na rede para vários computadores, dai nesse caso você tem que usar o mvn deploy mas eu acho que esse ainda não é o teu caso.

Caso queira saber mais sobre esses repositórios pode procurar no google por Nexus: http://www.sonatype.org/nexus/ (é o que eu uso :D)

Espero ter ajudado

B

Maicon, vlw pela dica!!
Aproveitando:

Me confirma uma coisa que eu ainda não entendi. Eu baixei o plugin no Eclipse pra usar o Maven. Com isso não preciso fazer toda aquela configuração via cmd e de variaveis de sistema é isso ?!
Ou mesmo assim nao vou conseguir nada sem o cmd !?

M

Breno consegue usar sim.

Mas eu prefiro setar o M2_HOME nas variáveis de ambiente e dentro do eclipse apontar para o maven que eu setei.

Isso porque as vezes gosto de compilar na mão para tirar a dúvida se algum problema é no plugin da IDE ou se de fato maven ta executando corretamente, digo isso porque já passei por alguns probleminhas com esse plugin.

Abraço

B

e a forma de declarar esses jar no pom é igual ao jeito que declaro os jars que serão baixados ?

M

Exatamente.

Se tu instalar o jar com o groupId=a, artifactId=b, version=1 por exemplo.

Basta colocar esses dados como dependência no teu pom.

Abraço

B

mAicon, desculpe abusar das perguntas…

Mas você poderia me exclarecer só mais uma coisa? Pra eu colocar esse meu jar personaliazado no repositoria local somente usando o cmd com o comando mvn install ??
Mas pra isso eu nao teria que fazer toda uma configuração do Maven via prompt?

Porque eu não cheguei a fazer isso, instalei o plugin no eclipse e só. Por isso que tinha perguntado se só com o plugin poderia utilizar o Maven ou se ainda precisaria configurar algo no prompt. Então, eu preciso usar o mvn install ou existe outra forma? Ainda estou meio confuso sobre essa configuração do Maven no cmd e o plugin do eclipse.

Agradeço muito pela paciência.

M

Como diria Jack, vamos por partes

1º Sim para disponibilizar no repositório local é so o mvn install.

2º A unica coisa que você precisa é setar a variável de ambiente e colocar no path, iguaçl a variável de ambiente do java… Infos aqui -> http://maven.apache.org/download.html

3º Tu não precisa instalar o maven por fora do eclipse. A unica coisa é que as vezes esses plugin é meio bugado e dai eu preciso comparar com o maven rodando sem uma IDE, só por isso.

Ate +

Criado 6 de setembro de 2012
Ultima resposta 10 de set. de 2012
Respostas 7
Participantes 2