Iniciando com o Maven

Conceito Básico

Apache Maven, ou simplesmente Maven, é uma ferramenta de automação de compilação utilizada primariamente em projetos Java. Ela é similar à ferramenta Ant, mas é baseada em conceitos e trabalhos diferentes em um modo diferente. Também é utilizada para construir e gerenciar projetos escritos em C#, Ruby, Scala e outras linguagens. O projeto Maven é hospedado pela Apache Software Foundation, que fazia parte do antigo Projeto Jakarta.

Maven é uma ferramenta de integração de projetos. Gerencia dependências, controla versões, executa testes, etc.

Instalando o Maven

A instalação do Maven é bastante simples. Basta entrar no site https://maven.apache.org/download.cgi e baixar o arquivo.

Descompacte o arquivo em alguma pasta. Ex. c:\maven.
É preciso configurar variável de ambiente.
Criar uma variavel MAVEN_HOME com e colocar o caminha da pasta do Maven.
Na variavel Path, adicionar no final ;%MAVEN_HOME%\bin.

Pronto. Entre no CMD e digite: mvn -version.

$ mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T14:41:47-02:00)
Java version: 1.7.0_79, vendor: Oracle Corporation
Default locale: pt_BR, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"

==============

Quer dar os primeiro passos no mundo do microservices, usando o básico do Spring Boot?

Curso: Hands-On. Seu primeiro microservice com Spring Boot

** Conceitos do curso:
1. Criação de um microservice;
2. Comunicação síncrona com RestAPI;
3. Banco de dados usando JPA e Spring Data;

Entre em www.alcateiadev.com.br e lá tem cupons de desconto semanal.

=========

Ententendo o arquivo pom.xml

Para configurar um projeto com Maven, basta criar um arquivo pom.xml. Neste arquivo vai constar as configurações que o Maven precisa saber.

<project> 
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>my-project</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
  • modelVersion — O número da versão Maven POM. É o número da versão da especificação POM
  • groupId — Grupo organizacional do projeto
  • artifactId — O nome do artefato do projeto criado
  • version — O número da versão do artefato criado

Estrutura de diretórios

/src
/main
/java - Todos os arquivos java
/resources - Todos os arquivos de configuração (xml, properties, etc..)
/webapp - Arquivos de um projeto WAR
/test
/java
/resources
/target - Usado pelo Maven para compilar e gerar os pacotes.

Testar

Vamos criar um projeto simples e importa no Eclipse.
Crie uma pasta com um nome qualquer.
Crie um arquivo pom.xml e coloque o conteúdo abaixo no arquivo.
Crie as pastas vazios, com a estrutura de diretório acima. Não precisa criar a pasta Target.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- definição das informações do projeto-->
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>my-project</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- definindo que este pom é filho de um pom do spring boot. -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.5.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>

Criado o arquivo e as pastas, vamos importar no Eclipse.
Acesso o menu File -> Import, escolhe Existing Maven Projects.

Depois de importado, o projeto deve ficar igual a imagem abaixo.

E agora? Bem, com o projeto criado e importado, podemos executar alguns comandos.
O eclipse te da a oportunidade de executar os comandos do Maven sem precisar executar na linha de comando.
No Run-as do eclipse, agora aparece as opções clean, install, test, etc…

Para finalizar:

  1. Crie um pacote hello;
  2. Crie uma classe SampleController e copie o conteúdo abaixo para a classe;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@EnableAutoConfiguration
public class SampleController {
@RequestMapping("/")
@ResponseBody
String home() {
return "Hello World!";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(SampleController.class, args);
}
}

Pronto, vamos executar.
Temos duas formas de executar.

Eclipse

Clique com o botão direito na classe, selecione Run As e Java Application.

Console Maven

Digite na linha de comando: mvn spring-boot:run.

Agora digite no navegador:
http://localhost:8080/

Irá aparecer o texto Hello World!

Resumo

O Maven é essencial para qualquer projeto, facilitando toda a construção e manutenção de qualquer código, abstraindo muito da complexidade de controlar dependências.

=========

Quer fazer vários cursos de microservice? Entre no site www.alcateiadev.com.br e lá tem cupons de desconto semanal.

=========

--

--

Marcelo de Souza Vieira
;) -> Java e Arquitetura de Forma Mastigada |;)

CTO at Sellers. I work since 2004 with Java and a passion for the profession. I am enthusiastic about Open Source projects.