Introdução a projetos baseados em apache maven

Post on 14-Apr-2017

55 views 3 download

Transcript of Introdução a projetos baseados em apache maven

INTRODUÇÃO A PROJETOS BASEADOS EM APACHE MAVEN

08 de Dezembro 2016

Nome: Fabian Cesar Pereira Brandão ManoelE-mail: fabiancpbm@gmail.com

OUTLINE 1.0. O que é MAVEN

2.0. Principais conceitos

3.0. Benefícios

4.0. Primeiro projeto MAVEN no Eclipse

5.0. Conclusão

6.0. Referências bibliográficas

OUTLINE 1.0. O que é MAVEN

2.0. Principais conceitos

3.0. Benefícios

4.0. Primeiro projeto MAVEN no Eclipse

5.0. Conclusão

6.0. Referências bibliográficas

4Introdução a projetos baseados em Apache Maven

1.0. O QUE É O MAVEN

Ferramenta que gerencia dependências e ciclo de vida de projetos de software. Esta gerencia inclui:

Facilidade de compilação, empacotamento, testes unitários, etc;

5Introdução a projetos baseados em Apache Maven

Ferramenta que gerencia dependências e ciclo de vida de projetos de software. Esta gerencia inclui:

Possibilidade de união e automatização do processo de geração de um sistema;

1.0. O QUE É O MAVEN

6Introdução a projetos baseados em Apache Maven

Ferramenta que gerencia dependências e ciclo de vida de projetos de software. Esta gerencia inclui:

Centralizar informações do projeto organizadamente, como dependências, resultado de testes, documentação, etc;

1.0. O QUE É O MAVEN

7Introdução a projetos baseados em Apache Maven

Ferramenta que gerencia dependências e ciclo de vida de projetos de software. Esta gerencia inclui:

Tendência à boas práticas de programação;Controle de versões geradas;

1.0. O QUE É O MAVEN

8Introdução a projetos baseados em Apache Maven

1.0. O QUE É O MAVEN

Projeto MAVEN é uma pasta com:Arquivo pom.xml;Diretório de código fonte src;

OUTLINE 1.0. O que é MAVEN

2.0. Principais conceitos

3.0. Benefícios

4.0. Primeiro projeto MAVEN no Eclipse

5.0. Conclusão

6.0. Referências bibliográficas

10Introdução a projetos baseados em Apache Maven

2.0. PRINCIPAIS CONCEITOS

2.1. Artefato2.2. Arquivo POM2.3. Repositório remoto e local2.4. Goals, plugins e phases2.5. Ciclo de vida2.6. Estrutura padrão de projeto

11Introdução a projetos baseados em Apache Maven

2.0. PRINCIPAIS CONCEITOS

•Para o MAVEN, todo projeto é um Artefato.•Estes artefatos são armazenados em um repositório de artefatos;•Podem estar nos formatos WAR, EAR ou JAR;•Cada artefato tem as Coordenadas Maven definidas no pom.xml. Estas coordenadas são:

2.1. Artefatos

•GroupId;•ArtifactId;•Version;

12Introdução a projetos baseados em Apache Maven

2.0. PRINCIPAIS CONCEITOS

Dependências: São Artefatos que determinado artefato (projeto) depende para funcionar. Para possuir a dependência, deve-se conhecer as Coordenadas Maven;

2.1. Artefatos

13Introdução a projetos baseados em Apache Maven

2.2. Arquivo POM

2.0. PRINCIPAIS CONCEITOS

•É a unidade básica do MAVEN no formato XML, onde são declaradas todas as informações do projeto. Baseado nisso, seu MAVEN poderá:

•É usado apenas como modelo de dados hierárquicos;•Segue um exemplo de um arquivo pom.xml:

Validar, compilar, testar, empacotar, instalar …

14Introdução a projetos baseados em Apache Maven

2.2. Arquivo POM

2.0. PRINCIPAIS CONCEITOS

•É a unidade básica do MAVEN no formato XML, onde são declaradas todas as informações do projeto. Baseado nisso, seu MAVEN poderá:

•É usado apenas como modelo de dados hierárquicos;•Segue um exemplo de um arquivo pom.xml:

Construir estrutura de trabalho…

15Introdução a projetos baseados em Apache Maven

2.2. Arquivo POM

2.0. PRINCIPAIS CONCEITOS

•É a unidade básica do MAVEN no formato XML, onde são declaradas todas as informações do projeto. Baseado nisso, seu MAVEN poderá:

•É usado apenas como modelo de dados hierárquicos;•Segue um exemplo de um arquivo pom.xml:

Definir dependências.

16Introdução a projetos baseados em Apache Maven

2.2. Arquivo POM

2.0. PRINCIPAIS CONCEITOS

•É a unidade básica do MAVEN no formato XML, onde são declaradas todas as informações do projeto. Baseado nisso, seu MAVEN poderá:

•É usado apenas como modelo de dados hierárquicos;•Segue um exemplo de um arquivo pom.xml:

Definir dependências.

17Introdução a projetos baseados em Apache Maven

2.2. Arquivo POM

2.0. PRINCIPAIS CONCEITOS

18Introdução a projetos baseados em Apache Maven

2.2. Arquivo POM

2.0. PRINCIPAIS CONCEITOS

19Introdução a projetos baseados em Apache Maven

2.2. Arquivo POM

2.0. PRINCIPAIS CONCEITOS

20Introdução a projetos baseados em Apache Maven

2.2. Arquivo POM

2.0. PRINCIPAIS CONCEITOS

21Introdução a projetos baseados em Apache Maven

2.2. Arquivo POM

2.0. PRINCIPAIS CONCEITOS

22Introdução a projetos baseados em Apache Maven

2.2. Arquivo POM

2.0. PRINCIPAIS CONCEITOS

ModelVersion

GroupId

ArtifactId

Versão de trabalho do pom.xml

Grupo ou empresa do projeto

Identificação do artefato. Deve ser único dentro do mesmo GroupId

23Introdução a projetos baseados em Apache Maven

2.2. Arquivo POM

2.0. PRINCIPAIS CONCEITOS

packaging Formato de pacote de projeto

Version Versão do artefato

24Introdução a projetos baseados em Apache Maven

2.2. Arquivo POM

2.0. PRINCIPAIS CONCEITOS

Version Versão do artefato

Correção de médios e grandes erros

Revisões básicas

Artefato ainda em fase de produção

Modificação significativa

25Introdução a projetos baseados em Apache Maven

2.3. Repositório remoto e local

2.0. PRINCIPAIS CONCEITOS

SEU PROJETO

REPOSITÓRIO DE ARTEFATOS LOCAL

REPOSITÓRIO CENTRAL DE ARTEFATOS REMOTO

INTERNET INTRANET

...

26Introdução a projetos baseados em Apache Maven

2.4. Goals, plugins e phases

2.0. PRINCIPAIS CONCEITOS

PLUGINs

GOALs: Tarefas pré-definidasPHASEs: Série de goals pré-definidos

27Introdução a projetos baseados em Apache Maven

2.5. Ciclo de vida

2.0. PRINCIPAIS CONCEITOS

•O MAVEN impõe aos seus artefatos um determinado ciclo de vida. Ou seja, todo tempo de vida de um artefato (construção e distribuição) está claramente definido;•Os ciclos de vida contêm phases pré-definidas; •Os ciclos de vida são:

DEFAULT CLEAN SITE

Toda fase de construção responsável por tornar o projeto em um Artefato

local, ou seja, direcioná-lo à pasta .m2.

Toda fase de construção responsável por limpar o

diretório alvo, permitindo iniciar o ciclo DEFAULT

totalmente limpo.

Toda fase de construção responsável construir a

documentação do projeto no site.

28Introdução a projetos baseados em Apache Maven

2.5. Ciclo de vida

2.0. PRINCIPAIS CONCEITOS

DEFAULT

VALIDATE

COMPILE

TEST

PACKAGE

VERIFY

INSTALL

DEPLOY

valida o projeto, verificando se o projeto possui padrão documental.

compila o código fonte.

realiza os testes unitários.

empacota o código compilado em um JAR, WAR, EAR.

verifica resultado de testes de integração para garantia de qualidade.

adiciona o pacote gerado ao repositório local.

adiciona o pacote no repositório remoto.

29Introdução a projetos baseados em Apache Maven

2.6. Estrutura padrão de projeto

2.0. PRINCIPAIS CONCEITOS

Local onde o Maven armazena todos os seus resultados gerados.

Local de suporte às necessidades do teste.

Local onde encontra-se os testes unitários a serem executados.

Local de suporte às necessidades do projeto.

Local onde encontra-se o Código fonte a ser utilizado como projeto

Local que concentra todas as informações do seu projeto.

OUTLINE 1.0. O que é MAVEN

2.0. Principais conceitos

3.0. Benefícios

4.0. Primeiro projeto MAVEN no Eclipse

5.0. Conclusão

6.0. Referências bibliográficas

31Introdução a projetos baseados em Apache Maven

3.0. BENEFÍCIOS

Centralização de informações: todas informações do projeto são centralizadas em pom.xml, assim, evitamos repetições de processos de builders, por exemplo;

32Introdução a projetos baseados em Apache Maven

3.0. BENEFÍCIOS

Padronização do ambiente de desenvolvimento: os métodos de tempo de vida e construção, ao serem gerenciados pelo Maven, padronizam os processos em todos os ambientes de desenvolvimento;

33Introdução a projetos baseados em Apache Maven

3.0. BENEFÍCIOS

Gerenciamento de dependências: o Maven cuida de todas as dependências dos seus projetos e as adiciona no classpath. Caso uma dependência dependa de outro recurso, este também será instalado no classpath;

34Introdução a projetos baseados em Apache Maven

3.0. BENEFÍCIOS

Facilidade de compreensão: ao adotar o modelo de organização do Maven, torna-se mais fácil a compreensão e localização de códigos. Assim, um desenvolvedor pode não conhecer um código, mas saberá, por exemplo, como funciona seu ciclo de vida;

OUTLINE 1.0. O que é MAVEN

2.0. Principais conceitos

3.0. Benefícios

4.0. Primeiro projeto Maven no Eclipse

5.0. Conclusão

6.0. Referências bibliográficas

36Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

INSTALE O MAVEN: Na página de Download do Maven, instale os arquivos binários do apache-maven.

37Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

INSTALE O MAVEN: Descompacte o arquivo em um local bem definido. O objetivo é que esse arquivo seja reconhecido como variável de ambiente do PC em trabalho.

38Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

INSIRA O MAVEN ÀS VARIÁVEIS DE AMBIENTE: Isso permitirá que as aplicações com o maven possam serem feitas via CMD.

39Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

INSIRA O MAVEN ÀS VARIÁVEIS DE AMBIENTE:

Em avançado clique em “variáveis de ambiente”

40Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

INSIRA O MAVEN ÀS VARIÁVEIS DE AMBIENTE:

Na janela que se abre, selecione o botão “novo” no local desejado. Então, adicione a variável de ambiente da seguinte forma:

41Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

INSIRA O MAVEN ÀS VARIÁVEIS DE AMBIENTE:

Depois, edite o Path das variáves de ambiente.

42Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

INSIRA O MAVEN ÀS VARIÁVEIS DE AMBIENTE:

Modifique assimo arquivo path:

43Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

VERIFIQUE SE O JAVA POSSUI VARIÁVEIS DE AMBIENTE.

Após isto, certifique-se através do commando java –version se o java possui variáveis de ambiente em seu local de trabalho no CMD.

Caso não tenha, realizer o mesmo procedimento já feito para o Maven.

44Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

APÓS ISTO, Veja se tudo ocorreu corretamente digitando “mvn

–version-” no CMD.

45Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

INSIRA O MAVEN ÀS VARIÁVEIS DE AMBIENTE:

Após isto, certifique-se através do commando java –version se o java possui variáveis de ambiente em seu local de trabalho no CMD.

46Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

COM TUDO CONFIGURADO, INSTALAR O MAVEN PARA O ECLIPSE.

No Eclipse, vá em Help -> Eclipse Marketplace, pesquise por M2E e instale o plugin.

47Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

INSTALAR O MAVEN PARA O ECLIPSE.Com o plugin instalado, vá em Window ->

Preferences. Procure em Maven -> Installations -> Add

48Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

INSTALAR O MAVEN PARA O ECLIPSE.Com o plugin instalado, vá em Window ->

Preferences. Procure em Maven -> Installations -> Add

Adicione o diretório onde o Maven está instalado

49Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

USAR O MAVEN NO ECLIPSE.Para criar um projeto maven, cria-se em file -> New

-> Maven Project. Preencha todas as informações necessárias sobre o projeto.

50Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

51Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

Observe como foi construída a estrutura de projeto.

52Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

Target é o ponto alvo de toda a construção feita do seu projeto em processo de build.

53Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

Será visto agora como se dá a configuração básica de um projeto no Maven através do POM.xml.

54Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

55Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

56Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

57Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

58Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

59Introdução a projetos baseados em Apache Maven

4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE

60Introdução a projetos baseados em Apache Maven

5.0. CONCLUSÃO

Pode-se, através de tudo visto até então, que o Maven é uma poderosa ferramenta que realiza todo o tratamento de um projeto, desde a sua criação e dependências, até seu compartilhamento e empacotamento. Sendo assim, o desenvolvedor pode focar com maior qualidade nos objetivos finais do projeto.

61Introdução a projetos baseados em Apache Maven

5.0. CONCLUSÃO

Caelum. Processo build de com maven[online]. 2008. Referência disponível em http://blog.caelum.com.br/processo-de-build-com-o-maven/;

•Caelum. Sobre builders, Ant e Maven[online].Referência disponível em http://www.caelum.com.br/apostila-java-testes-xml-design-patterns/apendice-o-processo-de-build-ant-e-maven/#10-9-discussao-em-sala-de-aula-ide-ant-ou-maven

• State of the art. Sobre instalação do Maven [online]. Referência disponível em http://luizricardo.org/2014/06/instalando-configurando-e-usando-o-maven-para-gerenciar-suas-dependencias-e-seus-projetos-java/

62Introdução ao Arduino: fundamentos e aplicações de microcontroladores

AGRADECIMENTOS

OBRIGADO!fabiancpbm@gmail.com