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.
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
BrenoBex
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
maiconramones
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
BrenoBex
e a forma de declarar esses jar no pom é igual ao jeito que declaro os jars que serão baixados ?
M
maiconramones
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
BrenoBex
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
maiconramones
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.