SlideShare uma empresa Scribd logo
1 de 62
INTRODUÇÃO A PROJETOS
BASEADOS EM APACHE MAVEN
08 de Dezembro 2016
Nome: Fabian Cesar Pereira Brandão Manoel
E-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
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
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. Artefato
2.2. Arquivo POM
2.3. Repositório remoto e local
2.4. Goals, plugins e phases
2.5. Ciclo de vida
2.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é-definidas
PHASEs: 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
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
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 assim
o 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

Mais conteúdo relacionado

Mais procurados

Iniciando com o_zend_framework
Iniciando com o_zend_frameworkIniciando com o_zend_framework
Iniciando com o_zend_frameworkMilton Rodrigues
 
Maven Versioning Strategy (VR)
Maven Versioning Strategy (VR)Maven Versioning Strategy (VR)
Maven Versioning Strategy (VR)Marcus Carvalho
 
Lab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvLab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvPedro Fernandes Vieira
 
The twelve factor apps and openruko
The twelve factor apps and openrukoThe twelve factor apps and openruko
The twelve factor apps and openrukoÉverton Ribeiro
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosElias Nogueira
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaMariana de Azevedo Santos
 
Criando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumCriando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumElias Nogueira
 
Testes Funcionais com Selenium
Testes Funcionais com Selenium Testes Funcionais com Selenium
Testes Funcionais com Selenium Mayron Cachina
 

Mais procurados (20)

Iniciando com o_zend_framework
Iniciando com o_zend_frameworkIniciando com o_zend_framework
Iniciando com o_zend_framework
 
Maven - Aula 02
Maven - Aula 02Maven - Aula 02
Maven - Aula 02
 
Apresentacao de Introdução ao Apache Maven
Apresentacao de Introdução ao Apache MavenApresentacao de Introdução ao Apache Maven
Apresentacao de Introdução ao Apache Maven
 
Maven - Aula 03
Maven - Aula 03Maven - Aula 03
Maven - Aula 03
 
Maven introdução Muito Rápida
Maven introdução Muito RápidaMaven introdução Muito Rápida
Maven introdução Muito Rápida
 
Maven Versioning Strategy (VR)
Maven Versioning Strategy (VR)Maven Versioning Strategy (VR)
Maven Versioning Strategy (VR)
 
Apresentação maven
Apresentação mavenApresentação maven
Apresentação maven
 
Introdução ao maven
Introdução ao mavenIntrodução ao maven
Introdução ao maven
 
Aula maven
Aula   mavenAula   maven
Aula maven
 
Mastering Laravel
Mastering LaravelMastering Laravel
Mastering Laravel
 
Git hub and Laravel
Git hub and Laravel Git hub and Laravel
Git hub and Laravel
 
Maven na prática
Maven na práticaMaven na prática
Maven na prática
 
Lab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenvLab python django - parte 2 - python + virtualenv
Lab python django - parte 2 - python + virtualenv
 
Maven em 10 minutos
Maven em 10 minutosMaven em 10 minutos
Maven em 10 minutos
 
The twelve factor apps and openruko
The twelve factor apps and openrukoThe twelve factor apps and openruko
The twelve factor apps and openruko
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em Java
 
Criando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumCriando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com Appium
 
Testes Funcionais com Selenium
Testes Funcionais com Selenium Testes Funcionais com Selenium
Testes Funcionais com Selenium
 
Benchmarking Tools
Benchmarking ToolsBenchmarking Tools
Benchmarking Tools
 

Semelhante a Como criar seu primeiro projeto Maven no Eclipse

Maven 3, Sonar e Hudson
Maven 3, Sonar e HudsonMaven 3, Sonar e Hudson
Maven 3, Sonar e HudsonRodrigo Branas
 
Tutorial de instalação do Maven
Tutorial de instalação do MavenTutorial de instalação do Maven
Tutorial de instalação do MavenAllan Alves
 
Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?Jocsa Rosendo
 
Projetos Java com Maven
Projetos Java com MavenProjetos Java com Maven
Projetos Java com MavenEdgar Dantas
 
Quick intro to Apache Maven
Quick intro to Apache MavenQuick intro to Apache Maven
Quick intro to Apache MavenInformantTalks
 
Web Training Aula 03: Introduction to Laravel
Web Training Aula 03: Introduction to LaravelWeb Training Aula 03: Introduction to Laravel
Web Training Aula 03: Introduction to LaravelMozDevz
 
Automação do ciclo de vida de software para Java
Automação do ciclo de vida de software para JavaAutomação do ciclo de vida de software para Java
Automação do ciclo de vida de software para JavaRafael Souza
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversionlekitamura
 
40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetosFrancisco Santos
 
php orientado_a_objetos
php orientado_a_objetosphp orientado_a_objetos
php orientado_a_objetosFer Nando
 
Apostila php orientado a objetos
Apostila php   orientado a objetosApostila php   orientado a objetos
Apostila php orientado a objetosFabiano Rodrigues
 
Começando com mulesoft e maven
Começando com mulesoft e mavenComeçando com mulesoft e maven
Começando com mulesoft e mavenJeison Barros
 
Maven: Introdução
Maven: IntroduçãoMaven: Introdução
Maven: IntroduçãoJugVale
 

Semelhante a Como criar seu primeiro projeto Maven no Eclipse (20)

Apache maven
Apache mavenApache maven
Apache maven
 
Maven 3, Sonar e Hudson
Maven 3, Sonar e HudsonMaven 3, Sonar e Hudson
Maven 3, Sonar e Hudson
 
Tutorial de instalação do Maven
Tutorial de instalação do MavenTutorial de instalação do Maven
Tutorial de instalação do Maven
 
Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?Maven e Nexus. O que são essas ferramentas?
Maven e Nexus. O que são essas ferramentas?
 
Maven 2
Maven 2Maven 2
Maven 2
 
Maven
MavenMaven
Maven
 
Maven
MavenMaven
Maven
 
Plugin Maven no Eclipse
Plugin Maven no EclipsePlugin Maven no Eclipse
Plugin Maven no Eclipse
 
Projetos Java com Maven
Projetos Java com MavenProjetos Java com Maven
Projetos Java com Maven
 
Quick intro to Apache Maven
Quick intro to Apache MavenQuick intro to Apache Maven
Quick intro to Apache Maven
 
Web Training Aula 03: Introduction to Laravel
Web Training Aula 03: Introduction to LaravelWeb Training Aula 03: Introduction to Laravel
Web Training Aula 03: Introduction to Laravel
 
Maverick v1.0
Maverick v1.0Maverick v1.0
Maverick v1.0
 
Automação do ciclo de vida de software para Java
Automação do ciclo de vida de software para JavaAutomação do ciclo de vida de software para Java
Automação do ciclo de vida de software para Java
 
Controlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e SubversionControlando Projetos com Netbeans e Subversion
Controlando Projetos com Netbeans e Subversion
 
40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetos
 
php orientado_a_objetos
php orientado_a_objetosphp orientado_a_objetos
php orientado_a_objetos
 
40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetos
 
Apostila php orientado a objetos
Apostila php   orientado a objetosApostila php   orientado a objetos
Apostila php orientado a objetos
 
Começando com mulesoft e maven
Começando com mulesoft e mavenComeçando com mulesoft e maven
Começando com mulesoft e maven
 
Maven: Introdução
Maven: IntroduçãoMaven: Introdução
Maven: Introdução
 

Como criar seu primeiro projeto Maven no Eclipse

  • 1. INTRODUÇÃO A PROJETOS BASEADOS EM APACHE MAVEN 08 de Dezembro 2016 Nome: Fabian Cesar Pereira Brandão Manoel E-mail: fabiancpbm@gmail.com
  • 2. 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
  • 3. OUTLINE 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
  • 4. 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;
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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;
  • 9. OUTLINE 1.0. O que é MAVEN 3.0. Benefícios 4.0. Primeiro projeto MAVEN no Eclipse 5.0. Conclusão 6.0. Referências bibliográficas
  • 10. 10Introdução a projetos baseados em Apache Maven 2.0. PRINCIPAIS CONCEITOS 2.1. Artefato 2.2. Arquivo POM 2.3. Repositório remoto e local 2.4. Goals, plugins e phases 2.5. Ciclo de vida 2.6. Estrutura padrão de projeto
  • 11. 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;
  • 12. 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
  • 13. 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 …
  • 14. 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…
  • 15. 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.
  • 16. 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.
  • 17. 17Introdução a projetos baseados em Apache Maven 2.2. Arquivo POM 2.0. PRINCIPAIS CONCEITOS
  • 18. 18Introdução a projetos baseados em Apache Maven 2.2. Arquivo POM 2.0. PRINCIPAIS CONCEITOS
  • 19. 19Introdução a projetos baseados em Apache Maven 2.2. Arquivo POM 2.0. PRINCIPAIS CONCEITOS
  • 20. 20Introdução a projetos baseados em Apache Maven 2.2. Arquivo POM 2.0. PRINCIPAIS CONCEITOS
  • 21. 21Introdução a projetos baseados em Apache Maven 2.2. Arquivo POM 2.0. PRINCIPAIS CONCEITOS
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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 ...
  • 26. 26Introdução a projetos baseados em Apache Maven 2.4. Goals, plugins e phases 2.0. PRINCIPAIS CONCEITOS PLUGINs GOALs: Tarefas pré-definidas PHASEs: Série de goals pré-definidos
  • 27. 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.
  • 28. 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.
  • 29. 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.
  • 30. OUTLINE 1.0. O que é MAVEN 2.0. Principais conceitos 4.0. Primeiro projeto MAVEN no Eclipse 5.0. Conclusão 6.0. Referências bibliográficas
  • 31. 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;
  • 32. 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;
  • 33. 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;
  • 34. 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;
  • 35. OUTLINE 1.0. O que é MAVEN 2.0. Principais conceitos 3.0. Benefícios 5.0. Conclusão 6.0. Referências bibliográficas
  • 36. 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.
  • 37. 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.
  • 38. 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.
  • 39. 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”
  • 40. 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:
  • 41. 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.
  • 42. 42Introdução a projetos baseados em Apache Maven 4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE INSIRA O MAVEN ÀS VARIÁVEIS DE AMBIENTE: Modifique assim o arquivo path:
  • 43. 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.
  • 44. 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.
  • 45. 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.
  • 46. 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.
  • 47. 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
  • 48. 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
  • 49. 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.
  • 50. 50Introdução a projetos baseados em Apache Maven 4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE
  • 51. 51Introdução a projetos baseados em Apache Maven 4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE Observe como foi construída a estrutura de projeto.
  • 52. 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.
  • 53. 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.
  • 54. 54Introdução a projetos baseados em Apache Maven 4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE
  • 55. 55Introdução a projetos baseados em Apache Maven 4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE
  • 56. 56Introdução a projetos baseados em Apache Maven 4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE
  • 57. 57Introdução a projetos baseados em Apache Maven 4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE
  • 58. 58Introdução a projetos baseados em Apache Maven 4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE
  • 59. 59Introdução a projetos baseados em Apache Maven 4.0. PRIMEIRO PROJETO MAVEN NO ECLIPSE
  • 60. 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.
  • 61. 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/
  • 62. 62Introdução ao Arduino: fundamentos e aplicações de microcontroladores AGRADECIMENTOS OBRIGADO! fabiancpbm@gmail.com