Maven
Maven 
O que é? 
● Convenção sobre configuração 
Maven tenta evitar, tanto quanto possível configuração, escolhendo valore...
Maven 
Template para Projetos 
Você pode criar um projeto, executando o goal generate do plugin do archetype: $ mvn archet...
Maven 
Interface Comum 
Um projeto em maven se torna uma interface comum para muitas tecnologias, como IDEs. Projetos 
ger...
Maven 
Configuração 
● Project Object Model (POM) 
A configuração de um projeto Maven é feito através de Project Object Mo...
Maven 
Instalação 
Para uma instalação manual você pode baixar Maven a partir do site. 
Extraia o download para uma pasta ...
Maven 
Validar Instalação 
Para validar que o Maven foi instalado corretamente, abra um console e use o seguinte comando: ...
Maven 
Utilizando Maven como um Build Tool 
Maven é uma ferramenta de linha de comando que será iniciado no terminal de co...
Maven 
Archetypes 
● appfuse-basic-jsf – AppFuse archetype para a criação de uma aplicação web com Hibernate, 
Spring e JS...
Maven 
Plugins 
O framework é estruturado e funciona em cima de um conjunto de plug-ins que, individualmente, são 
os resp...
Maven 
Exercicio - Criar e Gerar um projeto Java 
Neste exercício, você irá cria um projeto Java com Maven e fazer o build...
Maven 
Geração do Projeto 
Neste projeto nós utilizamos as funcionalidade scaffoding do Maven para criar um projeto Java. ...
Maven 
Rodando o Build 
Assim, geramos toda uma estrutura de projeto com código fonte e um arquivo pom.xml. Agora, 
querem...
Maven 
Rodar Fases Específicas 
Assim, geramos toda uma estrutura de projeto com código fonte e um arquivo pom.xml. Agora,...
Maven 
Referencias 
http://maven.apache.org/guides/getting-started/index.html 
http://en.wikipedia.org/wiki/Apache_Maven 
...
Próximos SlideShares
Carregando em…5
×

Aula maven

466 visualizações

Publicada em

Aula de Maven

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Aula maven

  1. 1. Maven
  2. 2. Maven O que é? ● Convenção sobre configuração Maven tenta evitar, tanto quanto possível configuração, escolhendo valores padrão do mundo real e fornecimento de modelos de projeto (archtypes); ● Gerenciamento de dependência É possível definir as dependências para outros projetos. Durante o build, a ferramenta resolve as dependências e, se necessário, também faz o build dos projetos dependentes; ● Repositório central Dependências do projeto pode ser carregado a partir do sistema de arquivos local, da Internet ou de repositórios públicos. A empresa por trás do projeto Maven também fornece um repositório central chamado Maven Central.
  3. 3. Maven Template para Projetos Você pode criar um projeto, executando o goal generate do plugin do archetype: $ mvn archetype: generate. Isso inicia o processo de gerar no modo interativo e pede-lhe para várias configurações. groupId: Define um nome único da organização ou grupo que criou o projeto. Este é normalmente um nome de domínio. Para a geração do groupId define também o pacote da classe principal. artifactId: Define o nome exclusivo do artefato. No nosso caso é a mesma coisa como o groupId, mas também poderia ser um nome simples como "SuperCalculadora". A geração utiliza este valor como nome da pasta raiz do projeto. packaging: Define o processo de empacotamento. Isto poderia ser, por exemplo jar, war ou eap. Este ajuste tem influência sobre todo o ciclo de vida do projeto. version: Isso define a versão dos artefatos gerados a partir de nosso projeto.
  4. 4. Maven Interface Comum Um projeto em maven se torna uma interface comum para muitas tecnologias, como IDEs. Projetos gerados no maven tem o seu archetype definido e por esse motivo pode ser migrado para outras IDEs sem problemas com configurações próprias da IDE.
  5. 5. Maven Configuração ● Project Object Model (POM) A configuração de um projeto Maven é feito através de Project Object Model, que é representado pelo arquivo pom.xml. Por padrão, este é o único arquivo de configuração necessário para o processo de build. Todo o build segue um ciclo de vida específico. Maven vem com um ciclo de vida padrão que inclui as fases de build mais comuns, como a compilação, testes e empacotamento. Todas as fases são compostas de goals plugin. Goals plugin são tarefas que são mais específicas do que as fases. Assim, uma fase pode ser definida para executar mais de um goal plugin. O resultado de uma compilação é chamada de artefato. Um artefato, por exemplo, pode ser um executável ou um arquivo de documentos.
  6. 6. Maven Instalação Para uma instalação manual você pode baixar Maven a partir do site. Extraia o download para uma pasta selecionada no seu computador e adicione o relative path M2_HOME apontando para este diretório. Adicionar M2_HOME / bin a sua variável PATH. Para ver os detalhes da instalação de outro sistema, siga o guia do site do projeto Maven.
  7. 7. Maven Validar Instalação Para validar que o Maven foi instalado corretamente, abra um console e use o seguinte comando: mvn -version. Você deverá receber feedback como a saída da versão do Maven que você instalou.
  8. 8. Maven Utilizando Maven como um Build Tool Maven é uma ferramenta de linha de comando que será iniciado no terminal de comandos. Para executar uma compilação com Maven, você só tem que apontar a sua linha de comando para a pasta que inclui o arquivo pom.xml e execute o comando mvn install. Com esta única linha, o ciclo de vida do maven será iniciado. Assim, a configuração do pom.xml será carregada e todas as suas dependências serão resolvidas. Depois disso, Maven tenta carregar a versão mais recente das dependencias do repositório central em um repositório local, que é colocado como .m2 / repository no diretório home do usuário. Como parte do ciclo de vida, a ferramenta de build compila os fontes e testes, executa os testes e empacota os arquivos compilados, por exemplo, como um JAR. Como última etapa, o artefato resultante será gravado no repositório local, para que possa ser utilizado por outros projetos. Maven cria o resultado de compilação na pasta de destino. Se você executar o comando mvn instalar, Maven compila o código-fonte, constrói o resultado, por exemplo, um arquivo JAR.
  9. 9. Maven Archetypes ● appfuse-basic-jsf – AppFuse archetype para a criação de uma aplicação web com Hibernate, Spring e JSF. ● maven-archetype-j2ee-simple – Uma aplicação simples J2EE. ● jpa-maven-archetype – Aplicação JPA. ● struts2-archetype-starter – Struts 2 Archetype. Lista de archetypes: http://docs.codehaus.org/display/MAVENUSER/Archetypes+List
  10. 10. Maven Plugins O framework é estruturado e funciona em cima de um conjunto de plug-ins que, individualmente, são os responsáveis por todas as tarefas executadas durante o processo de build. Assim, plug-ins executam desde a ação mais simples de todas, que é a limpeza do projeto, até tarefas muito mais elaboradas, como a criação de um EAR. O Maven possui uma infinidade de plug-ins “prontos para uso” e muitos outros são fornecidos por terceiros (soluções open-source ou proprietárias). Apesar disso, muitas vezes pode haver a necessidade de se incluir uma tarefa especial no ciclo de construção do aplicativo, algo particular a um determinado projeto ou empresa e cuja automação pode facilitar (e muito) a vida do desenvolvedor. Nesse contexto é importante entender como os plug-ins funcionam e como podemos construí-los, tirando assim ainda mais proveito do framework.
  11. 11. Maven Exercicio - Criar e Gerar um projeto Java Neste exercício, você irá cria um projeto Java com Maven e fazer o build desse projeto.
  12. 12. Maven Geração do Projeto Neste projeto nós utilizamos as funcionalidade scaffoding do Maven para criar um projeto Java. Para evitar o modo interativo (em que Maven pede os parâmetros necessários), todas as propriedades necessárias são passadas diretamente para o comando em sua criação. Selecione uma pasta onde irá ser criado projeto e insira esse comando. $ mvn archetype:generate -DgroupId=com.consulters.build.maven.java - DartifactId=consulters-zeus -DarchetypeArtifactId=maven-archetype-quickstart - DinteractiveMode=false Agora dê uma olhada como ficou a estrutura do projeto em sua máquina. Maven criou uma classe App.java na pasta ./src/main/, que é apenas um programa simples "Hello World". Também criou diretamente uma classe de teste válida em ./src/test/, com um dumb test. Na pasta raiz, há o nosso arquivo pom.xml.
  13. 13. Maven Rodando o Build Assim, geramos toda uma estrutura de projeto com código fonte e um arquivo pom.xml. Agora, queremos criar um executável. Para essa mudança em nosso projeto precisamos realizar o seguinte comando Maven. $ mvn compile Como resultado, Maven foi executado em todas as fases do ciclo de vida do projeto, que foram necessários para a fase de empacotamento. Resolveu as dependências, carregou o artefato JUnit em seu repositório local e fez o build dos fontes. Ele mesmo executou o teste do JUnit. Todos os arquivos gerados foram colocados na pasta de destino na raiz do projeto. Agora você pode executar o pacote. $ java -cp target/com.vogella.build.maven.java-1.0-SNAPSHOT.jar com.vogella.build. maven.java.App Hello World!
  14. 14. Maven Rodar Fases Específicas Assim, geramos toda uma estrutura de projeto com código fonte e um arquivo pom.xml. Agora, queremos obter um executável fora do nosso projeto. Para conseguir isso, temos que mudarna raiz do projeto e fazer o Maven gerar o pacote com a fase de empacotamento como objetivo. $ cd consulter-zeus $ mvn package Em vez de executar um build completo, também é possível apenas executar as fases individuais de um ciclo de vida do projeto. Por exemplo, se são necessárias apenas os resultados do teste: $ mvn test Para limpar o projeto e assim remover os arquivos gerados na pasta ./target/: $ mvn clean
  15. 15. Maven Referencias http://maven.apache.org/guides/getting-started/index.html http://en.wikipedia.org/wiki/Apache_Maven http://maven.apache.org/guides/mini/guide-ide-eclipse.html http://maven.apache.org/archetype/maven-archetype-plugin/generate-mojo.html http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

×