
Instalação passo a passo do Maven
-
Primeiro, precisamos instalar o Maven. Baixe-o neste link .
-
Em seguida, descompacte o arquivo baixado e defina a variável de ambiente M2_HOME para o local do arquivo descompactado. Por exemplo, C:\\Arquivos de Programas\\maven\\
-
Para garantir que tudo esteja instalado, execute o seguinte na linha de comando:
mvn -version
-
Se as informações da versão para Maven, Java etc. forem exibidas, tudo estará pronto para funcionar.
-
Agora abra o IntelliJ IDEA e crie um novo projeto. Na primeira janela, selecione Maven:
-
Clique em "Next" e preencha a janela que aparece:
-
Então, como de costume, crie um projeto onde quiser.
Após a criação do projeto, observe sua estrutura:
- a pasta src/main/java contém as classes Java
- a pasta src/main/resources contém os recursos utilizados pela aplicação (páginas HTML, imagens, folhas de estilo, etc.)
- a pasta src/test é para testes
Gerenciando dependências no Maven
Você pode ter encontrado a frase "gerenciador de dependências". Maven sabe como gerenciar dependências. Graças ao Maven, você não precisa gastar muito tempo procurando na Internet por uma biblioteca necessária, baixando-a e conectando-a ao seu projeto. Em vez disso, basta adicionar a biblioteca necessária à lista de dependências no Maven.As dependências são especificadas no nó de dependências do arquivo pom.xml
Digamos que você precise da biblioteca Apache Commons IO em seu projeto para simplificar o trabalho com arquivos. Para adicionar uma biblioteca, escrevemos cinco linhas em pom.xml:
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
Agora seu arquivo pom.xml deve ficar assim:
<?xml version="1.0" encoding="UTF-8"?>
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>example.com</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</project>
Depois disso, permita que o IntelliJ IDEA importe a dependência (uma caixa de diálogo deve aparecer no canto inferior direito). Agora a biblioteca está pronta para uso:
import org.apache.commons.io.FileUtils;
import java.io.File;
public class TestMaven {
public static void main(String[] args) {
File tempDirectory = FileUtils.getTempDirectory();
}
}
Todas as dependências subsequentes também devem ser escritas dentro da <dependencies>
tag. Você pode estar se perguntando como descobrir as informações sobre a biblioteca que precisa indicar dentro da <dependency>
tag. Isso é fácil. Três parâmetros sempre precisam ser definidos: "groupId", "artifactId" e "version". Existem duas maneiras de determinar esses parâmetros:
-
No site da biblioteca. Se precisarmos da biblioteca Apache Commons IO, vamos ao site oficial e selecionamos a guia "Informações de dependência". Todas as informações necessárias estão aqui — você pode simplesmente copiá-las e adicioná-las ao
<dependencies>
nó. -
Em um repositório Maven . Digite "apache commons io" na barra de pesquisa e você verá todas as versões disponíveis da biblioteca. Depois de selecionar o correto, basta copiar o seguinte:
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>
e adicione-o ao seu pom.xml.
Tipos de repositórios Maven
Vale a pena mencionar os repositórios Maven novamente, porque na verdade temos dois deles: um repositório remoto (central) e um repositório local (no seu computador). Todas as bibliotecas que você adiciona aos seus projetos são salvas no repositório local. Quando o Maven adiciona uma dependência necessária a um projeto, ele primeiro verifica se a biblioteca já existe no repositório local. Ele acessa o repositório remoto apenas se não encontrar a biblioteca localmente. Como você pode ver, você pode usar o Maven para adicionar dependências, mas isso não é tudo que ele pode fazer.Construindo um projeto Java usando Maven
Esta capacidade pode parecer inútil para um iniciante. Por que precisamos disso se temos um IDE? Deixe-me explicar. Primeiro, o servidor onde você deve construir seu aplicativo pode não ter um ambiente de desenvolvimento nem uma interface gráfica. Em segundo lugar, em grandes projetos, o Maven faz um trabalho melhor na construção do projeto. Portanto, sem mais delongas, consideraremos o processo de construção de um aplicativo usando o Maven.Fases
O processo de construção de um aplicativo é conhecido como o ciclo de vida de um projeto Maven e consiste em fases. Você pode visualizá-los no IDEA clicando em Maven > exemplo > Ciclo de vida no canto superior direito:
- clean — remove todos os arquivos compilados do diretório de destino (o local onde os artefatos finalizados são salvos)
- validar — verifica se todas as informações necessárias para construir o projeto estão presentes
- compile — compila arquivos de código-fonte
- test — inicia os testes
- pacote — empacota arquivos compilados (em um arquivo JAR, WAR, etc.)
- verificar — verifica se o arquivo compactado está pronto
- install — coloca o pacote no repositório local. Agora pode ser usado por outros projetos como uma biblioteca externa
- site — cria a documentação do projeto
- deploy — copia o arquivo construído para o repositório remoto
-
através da linha de comando:
pacote mvn
-
usando o IntelliJ IDEA:
Antes do início da fase de pacote, as fases de validação, compilação e teste são executadas. A fase limpa é uma exceção. É uma boa ideia executar esta fase antes de cada construção do projeto. Você pode listar várias fases, separando-as com espaços:
mvn pacote limpo.
Plugins
Para adicionar um plug-in Maven ao projeto, precisamos adicionar sua descrição ao arquivo pom.xml, usando as tags<build>
e <plugins>
, semelhante à forma como adicionamos dependências. Por exemplo, suponha que precisamos de um plug-in para verificar se estamos usando a versão mais recente de todas as nossas bibliotecas externas. Depois de pesquisar um pouco na Internet, você pode encontrar este plug-in e instruções sobre como usá-lo. Vamos definir o groupId, artefatoId e versão. Indicaremos quais objetivos o plugin deve cumprir e em que fase. Em nosso caso, a verificação de dependência no pom.xml atual é definida para ocorrer durante a fase de validação. Agora nosso arquivo pom.xml está assim:
<?xml version="1.0" encoding="UTF-8"?>
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>example.com</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>com.soebes.maven.plugins</groupId>
<artifactId>uptodate-maven-plugin</artifactId>
<version>0.2.0</version>
<executions>
<execution>
<goals>
<goal>dependency</goal>
</goals>
<phase>validate</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
</dependencies>
</project>
Poderíamos continuar trabalhando em nosso projeto. Mas vamos tentar mudar a versão do Apache Commons IO para 2.0 e construir o projeto. Nós conseguiremos
[ERROR] Failed to execute goal com.soebes.maven.plugins:uptodate-maven-plugin:0.2.0:dependency (default) on project example: There is a more up-to-date version ( 2.6 ) of the dependency commons-io:commons-io:2.0 available. -> [Help 1]
Aqui temos um erro de compilação gerado pelo plugin. A mensagem de erro informa que estamos usando a versão 2.0 quando a versão 2.6 está disponível. Basicamente, o Maven é uma ferramenta muito útil. Talvez pareça difícil de usar no começo, mas pratique! Crie seus projetos usando o Maven, e depois de um tempo você ficará muito satisfeito com o resultado final. Este artigo omitiu deliberadamente muitos detalhes sobre o Maven — focamos no mais essencial. Mas não há limite para melhorias: você pode ler mais sobre o Maven em seu site oficial . Parte 5. Servlets e a API Java Servlet. Escrevendo um aplicativo Web simples Parte 6. Contêineres de servlet Parte 7. Apresentando o padrão MVC (Model-View-Controller)
GO TO FULL VERSION