SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Maven 2
walter.mourao@gmail.com
Maven 2
 Ferramenta para automatização do processo
de construção de aplicações.
 Mais ou menos equivalente ao Make ou Ant.
 Valoriza a padronização do processo de build.
 Muito diferente do Maven1 que exigia muita
configuração.
Terminologia do Maven (1)
 Com o Maven, você executa plugins que
atingem objetivos (goals) em diferentes fases
do ciclo de construção (lifecycle) para criar
artefatos.
 Exemplos de artefatos são arquivos .jar e .war.
 Esses artefatos tem “coordenadas” (groupId,
artifactId e version).
Terminologia do Maven (2)
 Os artefatos ficam guardados em repositórios locais
ou remotos.
 Quando um artefato é criado, ele é instalado em um
repositório local ou implantado (deployed) em
repositórios remotos.
 Os artefatos podem ser insumos para a criação de
outros artefatos através do mecanismo de
dependências.
 Novos projetos Maven podem ser criados a partir de
modelos (ou “arquétipos”) com o plugin archetype.
Criando um projeto Maven
 Execute
mvn archetype:generate
 Selecione o 15 (default).
 Exemplos de respostas:
Define value for groupId: : com.wim.ita
Define value for artifactId: : teste-maven
Define value for version: 1.0-SNAPSHOT: :
Define value for package: : com.wim.ita.testemaven
 Confirme e observe que o projeto foi criado na pasta com o nome
que foi dado para o artifactId (teste-maven nesse exemplo).
 Nesse exemplo archetype é o plugin e generate é o goal
 Observe os downloads de plugins.
Estrutura padrão de um projeto
Maven
Construindo a aplicação
 Execute na pasta do projeto
mvn install
 “install” é o ciclo (lifecycle) que cria e instala artefatos no repositório local.
 Espera-se um “BUILD SUCCESSFUL”
 Observe o log de execução com as fases de compilação, compilação do teste, teste
e etc.
 Observe a pasta target, contém artefatos transitórios e o arquivo .jar final.
 Observe o artefato final instalado em <repositório>/com/wim/ita/teste-maven/1.0-
SNAPSHOT
 com/wim/ita = groupId
teste-maven = artifactId
 Para executar a aplicação:
java -cp target/teste-maven-1.0-SNAPSHOT.jar com.wim.ita.testemaven.App
Ciclos (Lifecycles) do Maven
validate generate-test-sources package
generate-sources process-test-sources pre-integration-test
process-sources generate-test-resources integration-test
generate-resources process-test-resources post-integration-test
process-resources test-compile verify
compile test install
process-classes prepare-package deploy
Projetos Maven no eclipse
 Execute
mvn eclipse:eclipse
 eclipse = plugin
eclipse = goal
 Observe a criação dos arquivos .project e .classpath
 No Eclipse:
File → New → Project
Project → General Project
preencha name e location
 Observe que as libraries estão preenchidas e apontando
adequadamente para o repositório
POM – Project Object Model
 Contém informações/configurações específicas
do projeto.
 Suporta conceitos de herança.
 O POM de um projeto sempre herda a
configuração de um ou POM (quando sub-
projeto) ou do Super POM.
Dependências
 Mecanismo que permite a descrição dos
artefatos que contém insumos para o projeto.
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
Exclusão de dependências
 As dependências podem ser excluídas para
resolver conflitos
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
Snapshots
 Acrescente -SNAPSHOT à versão do artefato
para indicar que é uma versão em
desenvolvimento
 O Maven verifica constantemente se existem
atualizações
Repositórios
 Estruturas de pastas contendo artefatos
(plugins, .jar, .war, etc.) .
 Locais (~/.m2/repository) ou remotos (http,
https, ftp, sftp)
 Repositórios públicos (
http://repo2.maven.org/maven2/,
http://repository.jboss.org/maven2)
 Gerenciadores/proxies Nexus, archiva,
artifactory.
Propriedades do projeto
<properties>
<app.final.name>nomeXYZ</app.final.name>
<source.version>1.5</source.version>
<target.version>1.5</target.version>
</properties>
Configuração de build e plugins
<build>
<finalName>${app.final.name}</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-compiler-plugin
</artifactId>
<configuration>
<source>${source.version}</source>
<target>${target.version}</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
Ciclos de construção
 Geralmente um artefato é construido com a
execução de uma sequencia de metas (goals)
 O Maven reconhece 21 ciclos
validate generate-test-sources package
generate-sources process-test-sources pre-integration-test
process-sources generate-test-resources integration-test
generate-resources process-test-resources post-integration-test
process-resources test-compile verify
compile test install
process-classes prepare-package deploy
Profiles
 Um profile permite um build customizado
 Execute
mvn install -Pxpto
<profiles>
<profile>
<id>xpto</id>
<properties>
<app.final.name>
NomeXPTO
</app.final.name>
</properties>
</profile>
</profiles>

Mais conteúdo relacionado

Mais procurados

Testes de Unidade com JUnit
Testes de Unidade com JUnitTestes de Unidade com JUnit
Testes de Unidade com JUnitelliando dias
 
Android DevConference - Elastic Search como ferramenta de busca em aplicações...
Android DevConference - Elastic Search como ferramenta de busca em aplicações...Android DevConference - Elastic Search como ferramenta de busca em aplicações...
Android DevConference - Elastic Search como ferramenta de busca em aplicações...iMasters
 
Conceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de códigoConceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de códigoFelipe
 
Java enterprise - testcontainers
Java enterprise - testcontainersJava enterprise - testcontainers
Java enterprise - testcontainersSandro Giacomozzi
 
Palestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitPalestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitRobinson Castilho
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação DockerAndré Justi
 
Desenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com JunitDesenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com JunitAdolfo Neto
 
Sistemas de Controle de Versão
Sistemas de Controle de VersãoSistemas de Controle de Versão
Sistemas de Controle de VersãoJonathas Silva
 
Git e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilGit e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilTiago Antônio da Silva
 

Mais procurados (20)

Olá docker
Olá dockerOlá docker
Olá docker
 
Junit
JunitJunit
Junit
 
Junit 4.0
Junit 4.0Junit 4.0
Junit 4.0
 
Maven 2
Maven 2Maven 2
Maven 2
 
Introdução ao Maven
Introdução ao MavenIntrodução ao Maven
Introdução ao Maven
 
Testes de Unidade com JUnit
Testes de Unidade com JUnitTestes de Unidade com JUnit
Testes de Unidade com JUnit
 
Android DevConference - Elastic Search como ferramenta de busca em aplicações...
Android DevConference - Elastic Search como ferramenta de busca em aplicações...Android DevConference - Elastic Search como ferramenta de busca em aplicações...
Android DevConference - Elastic Search como ferramenta de busca em aplicações...
 
Docker
DockerDocker
Docker
 
Conceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de códigoConceitos e exemplos em versionamento de código
Conceitos e exemplos em versionamento de código
 
Java enterprise - testcontainers
Java enterprise - testcontainersJava enterprise - testcontainers
Java enterprise - testcontainers
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Palestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitPalestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnit
 
Apresentação Docker
Apresentação DockerApresentação Docker
Apresentação Docker
 
Desenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com JunitDesenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com Junit
 
Sistemas de Controle de Versão
Sistemas de Controle de VersãoSistemas de Controle de Versão
Sistemas de Controle de Versão
 
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
 
Precisamos falar sobre Gradle
Precisamos falar sobre GradlePrecisamos falar sobre Gradle
Precisamos falar sobre Gradle
 
03 fundamentos java
03 fundamentos java03 fundamentos java
03 fundamentos java
 
Git e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilGit e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código Fácil
 
Maven - Aula 01
Maven - Aula 01Maven - Aula 01
Maven - Aula 01
 

Destaque

Aula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAndré Luiz Forchesatto
 
Tópicos avançados em JSF
Tópicos avançados em JSFTópicos avançados em JSF
Tópicos avançados em JSFWalter Mourão
 
JBUG Brasil - Desvendando as features do WildFly.
JBUG Brasil - Desvendando as features do WildFly.JBUG Brasil - Desvendando as features do WildFly.
JBUG Brasil - Desvendando as features do WildFly.Eduardo Medeiros
 
WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015Adriano Schmidt
 
Java 8 para o dia a dia
Java 8 para o dia a diaJava 8 para o dia a dia
Java 8 para o dia a diaRicardo Faria
 
Maven Versioning Strategy (VR)
Maven Versioning Strategy (VR)Maven Versioning Strategy (VR)
Maven Versioning Strategy (VR)Marcus Carvalho
 
Boas práticas com jpa 2 e hibernate flisol 2012
Boas práticas com jpa 2 e hibernate   flisol 2012Boas práticas com jpa 2 e hibernate   flisol 2012
Boas práticas com jpa 2 e hibernate flisol 2012Frederico Maia Arantes
 
Rest web services com Java
Rest web services com JavaRest web services com Java
Rest web services com JavajesuinoPower
 
Dicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDr. Spock
 
JBoss-WildFly - Avançado
JBoss-WildFly - AvançadoJBoss-WildFly - Avançado
JBoss-WildFly - AvançadoAdriano Schmidt
 
Jsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenJsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenLeandro Costa
 
Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018André Luiz Forchesatto
 
Apostila Java Web com JSF, JPA e Primefaces
Apostila Java Web com JSF, JPA e PrimefacesApostila Java Web com JSF, JPA e Primefaces
Apostila Java Web com JSF, JPA e PrimefacesRosicleia Frasson
 

Destaque (18)

Aula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPRAula Introdução a VRaptor 4 - Pós Java UTFPR
Aula Introdução a VRaptor 4 - Pós Java UTFPR
 
Tópicos avançados em JSF
Tópicos avançados em JSFTópicos avançados em JSF
Tópicos avançados em JSF
 
JBUG Brasil - Desvendando as features do WildFly.
JBUG Brasil - Desvendando as features do WildFly.JBUG Brasil - Desvendando as features do WildFly.
JBUG Brasil - Desvendando as features do WildFly.
 
WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015
 
Performance em Java
Performance em JavaPerformance em Java
Performance em Java
 
Java 8 para o dia a dia
Java 8 para o dia a diaJava 8 para o dia a dia
Java 8 para o dia a dia
 
Maven Versioning Strategy (VR)
Maven Versioning Strategy (VR)Maven Versioning Strategy (VR)
Maven Versioning Strategy (VR)
 
Boas práticas com jpa 2 e hibernate flisol 2012
Boas práticas com jpa 2 e hibernate   flisol 2012Boas práticas com jpa 2 e hibernate   flisol 2012
Boas práticas com jpa 2 e hibernate flisol 2012
 
Aula parte 2 de JSF 2.2
Aula parte 2 de JSF 2.2Aula parte 2 de JSF 2.2
Aula parte 2 de JSF 2.2
 
Rest web services com Java
Rest web services com JavaRest web services com Java
Rest web services com Java
 
Dicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSF
 
Minicurso jpa e hibernate
Minicurso jpa e hibernateMinicurso jpa e hibernate
Minicurso jpa e hibernate
 
JBoss-WildFly - Avançado
JBoss-WildFly - AvançadoJBoss-WildFly - Avançado
JBoss-WildFly - Avançado
 
Jsf com hibernate, spring security e maven
Jsf com hibernate, spring security e mavenJsf com hibernate, spring security e maven
Jsf com hibernate, spring security e maven
 
Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018
 
Apostila Java Web com JSF, JPA e Primefaces
Apostila Java Web com JSF, JPA e PrimefacesApostila Java Web com JSF, JPA e Primefaces
Apostila Java Web com JSF, JPA e Primefaces
 
Aula parte 1 de JSF 2.2
Aula parte 1 de JSF 2.2Aula parte 1 de JSF 2.2
Aula parte 1 de JSF 2.2
 
Interfaces ricas JSF
Interfaces ricas JSF Interfaces ricas JSF
Interfaces ricas JSF
 

Semelhante a 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?Jocsa Rosendo
 
Tutorial de instalação do Maven
Tutorial de instalação do MavenTutorial de instalação do Maven
Tutorial de instalação do MavenAllan Alves
 
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
 
Build Automation Evolved
Build Automation EvolvedBuild Automation Evolved
Build Automation EvolvedMarcelo Diniz
 
Maven 3, Sonar e Hudson
Maven 3, Sonar e HudsonMaven 3, Sonar e Hudson
Maven 3, Sonar e HudsonRodrigo Branas
 
Suporte a Open Source no Oracle WebLogic 12c - Integração com Maven & Hudson
Suporte a Open Source no Oracle WebLogic 12c - Integração com Maven & HudsonSuporte a Open Source no Oracle WebLogic 12c - Integração com Maven & Hudson
Suporte a Open Source no Oracle WebLogic 12c - Integração com Maven & HudsonRicardo Ferreira
 
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTAutomação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTelliando dias
 
Maven: Introdução
Maven: IntroduçãoMaven: Introdução
Maven: IntroduçãoJugVale
 
GlassFish e Maven: Java EE sem dor!
GlassFish e Maven: Java EE sem dor!GlassFish e Maven: Java EE sem dor!
GlassFish e Maven: Java EE sem dor!Bruno Borges
 
Eclipse user guide
Eclipse user guideEclipse user guide
Eclipse user guideLucas Cruz
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntDenis L Presciliano
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntDenis L Presciliano
 

Semelhante a Maven (20)

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?
 
Introdução a projetos baseados em apache maven
Introdução a projetos baseados em apache mavenIntrodução a projetos baseados em apache maven
Introdução a projetos baseados em apache maven
 
Maven em 10 minutos
Maven em 10 minutosMaven em 10 minutos
Maven em 10 minutos
 
Apache maven
Apache mavenApache maven
Apache maven
 
Maven - Aula 05
Maven - Aula 05Maven - Aula 05
Maven - Aula 05
 
Tutorial de instalação do Maven
Tutorial de instalação do MavenTutorial de instalação do Maven
Tutorial de instalação do Maven
 
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
 
Build Automation Evolved
Build Automation EvolvedBuild Automation Evolved
Build Automation Evolved
 
Maven 3, Sonar e Hudson
Maven 3, Sonar e HudsonMaven 3, Sonar e Hudson
Maven 3, Sonar e Hudson
 
Java 08
Java 08Java 08
Java 08
 
Suporte a Open Source no Oracle WebLogic 12c - Integração com Maven & Hudson
Suporte a Open Source no Oracle WebLogic 12c - Integração com Maven & HudsonSuporte a Open Source no Oracle WebLogic 12c - Integração com Maven & Hudson
Suporte a Open Source no Oracle WebLogic 12c - Integração com Maven & Hudson
 
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANTAutomação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
Automação no ambientAutomação no ambiente de desenvolvimento com Maven e ANT
 
Plugin Maven no Eclipse
Plugin Maven no EclipsePlugin Maven no Eclipse
Plugin Maven no Eclipse
 
Maven: Introdução
Maven: IntroduçãoMaven: Introdução
Maven: Introdução
 
GlassFish e Maven: Java EE sem dor!
GlassFish e Maven: Java EE sem dor!GlassFish e Maven: Java EE sem dor!
GlassFish e Maven: Java EE sem dor!
 
Eclipse user guide
Eclipse user guideEclipse user guide
Eclipse user guide
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache Ant
 
Gerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache AntGerenciamento de projetos com o Apache Ant
Gerenciamento de projetos com o Apache Ant
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
 

Maven

  • 2. Maven 2  Ferramenta para automatização do processo de construção de aplicações.  Mais ou menos equivalente ao Make ou Ant.  Valoriza a padronização do processo de build.  Muito diferente do Maven1 que exigia muita configuração.
  • 3. Terminologia do Maven (1)  Com o Maven, você executa plugins que atingem objetivos (goals) em diferentes fases do ciclo de construção (lifecycle) para criar artefatos.  Exemplos de artefatos são arquivos .jar e .war.  Esses artefatos tem “coordenadas” (groupId, artifactId e version).
  • 4. Terminologia do Maven (2)  Os artefatos ficam guardados em repositórios locais ou remotos.  Quando um artefato é criado, ele é instalado em um repositório local ou implantado (deployed) em repositórios remotos.  Os artefatos podem ser insumos para a criação de outros artefatos através do mecanismo de dependências.  Novos projetos Maven podem ser criados a partir de modelos (ou “arquétipos”) com o plugin archetype.
  • 5. Criando um projeto Maven  Execute mvn archetype:generate  Selecione o 15 (default).  Exemplos de respostas: Define value for groupId: : com.wim.ita Define value for artifactId: : teste-maven Define value for version: 1.0-SNAPSHOT: : Define value for package: : com.wim.ita.testemaven  Confirme e observe que o projeto foi criado na pasta com o nome que foi dado para o artifactId (teste-maven nesse exemplo).  Nesse exemplo archetype é o plugin e generate é o goal  Observe os downloads de plugins.
  • 6. Estrutura padrão de um projeto Maven
  • 7. Construindo a aplicação  Execute na pasta do projeto mvn install  “install” é o ciclo (lifecycle) que cria e instala artefatos no repositório local.  Espera-se um “BUILD SUCCESSFUL”  Observe o log de execução com as fases de compilação, compilação do teste, teste e etc.  Observe a pasta target, contém artefatos transitórios e o arquivo .jar final.  Observe o artefato final instalado em <repositório>/com/wim/ita/teste-maven/1.0- SNAPSHOT  com/wim/ita = groupId teste-maven = artifactId  Para executar a aplicação: java -cp target/teste-maven-1.0-SNAPSHOT.jar com.wim.ita.testemaven.App
  • 8. Ciclos (Lifecycles) do Maven validate generate-test-sources package generate-sources process-test-sources pre-integration-test process-sources generate-test-resources integration-test generate-resources process-test-resources post-integration-test process-resources test-compile verify compile test install process-classes prepare-package deploy
  • 9. Projetos Maven no eclipse  Execute mvn eclipse:eclipse  eclipse = plugin eclipse = goal  Observe a criação dos arquivos .project e .classpath  No Eclipse: File → New → Project Project → General Project preencha name e location  Observe que as libraries estão preenchidas e apontando adequadamente para o repositório
  • 10. POM – Project Object Model  Contém informações/configurações específicas do projeto.  Suporta conceitos de herança.  O POM de um projeto sempre herda a configuração de um ou POM (quando sub- projeto) ou do Super POM.
  • 11. Dependências  Mecanismo que permite a descrição dos artefatos que contém insumos para o projeto. <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies>
  • 12. Exclusão de dependências  As dependências podem ser excluídas para resolver conflitos <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1</version> <exclusions> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency>
  • 13. Snapshots  Acrescente -SNAPSHOT à versão do artefato para indicar que é uma versão em desenvolvimento  O Maven verifica constantemente se existem atualizações
  • 14. Repositórios  Estruturas de pastas contendo artefatos (plugins, .jar, .war, etc.) .  Locais (~/.m2/repository) ou remotos (http, https, ftp, sftp)  Repositórios públicos ( http://repo2.maven.org/maven2/, http://repository.jboss.org/maven2)  Gerenciadores/proxies Nexus, archiva, artifactory.
  • 16. Configuração de build e plugins <build> <finalName>${app.final.name}</finalName> <pluginManagement> <plugins> <plugin> <groupId> org.apache.maven.plugins </groupId> <artifactId> maven-compiler-plugin </artifactId> <configuration> <source>${source.version}</source> <target>${target.version}</target> </configuration> </plugin> </plugins> </pluginManagement> </build>
  • 17. Ciclos de construção  Geralmente um artefato é construido com a execução de uma sequencia de metas (goals)  O Maven reconhece 21 ciclos validate generate-test-sources package generate-sources process-test-sources pre-integration-test process-sources generate-test-resources integration-test generate-resources process-test-resources post-integration-test process-resources test-compile verify compile test install process-classes prepare-package deploy
  • 18. Profiles  Um profile permite um build customizado  Execute mvn install -Pxpto <profiles> <profile> <id>xpto</id> <properties> <app.final.name> NomeXPTO </app.final.name> </properties> </profile> </profiles>