Maven
Introdução
maven é uma ferramenta para construção de projetos e gerenciamento de dependências baseada na plataforma java.
Confie no endereço do armazém
https://mvnrepository.com/tags/maven
Quatro características do maven
Sistema de gerenciamento de dependências
O Maven apresenta o gerenciamento de pacotes jar do sistema de gerenciamento de dependências para modificar o arquivo de configuração quando o jar é atualizado.
Os três atributos de dependência : groupld, artifactld e version Esses três atributos formam Coordenação (coordenadas) para identificar exclusivamente uma dependência.
Qualquer projeto construído no próprio Maven também deve definir esses três atributos. O gerado pode ser um pacote jar ou um pacote war. Uma referência de dependência típica é a seguinte:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
groupld: indica que o projeto Meven pertence ao nome real da empresa do projeto
artifactId: este elemento define um módulo Maven no nome do projeto-projeto real
versão: este elemento define a versão do projeto Maven
O atributo de coordenada
maven coordinates introduz ordem para vários componentes, e qualquer componente deve definir suas próprias coordenadas.
Recursos do Maven :
- Estrutura de projeto consistente: Resolva o problema de diretórios de arquivos inconsistentes causados por IDEs diferentes (por exemplo, o projeto maven do Idea também pode ser importado para o eclipce, porque a estrutura do projeto é unificada).
- Modelo de construção consistente e mecanismo de plug-in: a introdução de plug-ins (como: Tomcat é necessário, então o plug-in Tomcat pode ser importado)
Filosofia do Maven : a convenção é maior do que a configuração!
Instalação e configuração do Maven
Baixar maven
O endereço não será postado, basta acessar o site oficial para fazer o download.
Configurar variáveis de ambiente
Após a descompactação, configure o diretório raiz do Maven para a variável de ambiente do sistema MAVEN_HOME e configure o diretório bin para a variável de ambiente do caminho.
Variáveis de ambiente no caminho:
Nota: O diretório armazenado após a descompressão em maven não deve conter caracteres chineses e espaços
Verifique o ambiente Maven: digite mvn -v na janela do DOS para
modificar o arquivo de configuração para modificar o espelho
- Crie uma pasta maven-repo no diretório maven para usar como um armazém local do maven para armazenar o pacote jar baixado pelo maven
F:\apache-maven-3.6.1\maven-repo
- Abra o arquivo de configuração no caminho maven: diretório maven / conf / settings.xml
- Adicione a configuração do local do armazém local: da seguinte forma
路径是刚刚创建的那个本仓库路径
<localRepository>F:\apache-maven-3.6.1\maven-repo</localRepository>
- Na guia de espelhos, substitua o espelho pelo espelho de Ali para acelerar o download da dependência, porque o maven usa um armazém central estrangeiro por padrão, que é muito lento:
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
Explicação da tag Pom.xml :
modelversion: especifica a versão do modelo pom atual. Para Maven2 e Maven3, pode ser apenas 4.0.0
groupId: como o nome indica, define a qual grupo o projeto pertence. Este grupo é frequentemente associado à organização e empresa onde o projeto está localizado, como com.xxxx
artifactId: define o ID único do projeto Maven atual no grupo
versão: xxx-Milestone
Por exemplo: 1.0.0-SNAPSHOT O
primeiro x: a versão principal tem mudanças principais. O
segundo x: a versão secundária corrige bugs e adiciona funções. O
terceiro x: atualizações
Versão Milestone:
SNAPSHOT (versão de desenvolvimento)
alpha (teste interno)
beta (teste público)
Release | Rc (versão de lançamento)
GA (versão normal)
Comandos comuns
- mvn -version: exibe informações sobre a versão
- mvn clean: limpa os arquivos temporários gerados pelo projeto, geralmente o diretório de destino no módulo
- compilar mvn: compila o código-fonte, geralmente compila o diretório sec / main / java no módulo
- pacote mvn: ferramenta de empacotamento de projeto, que irá gerar arquivos jar ou war no diretório de destino sob o módulo
- teste mvn: comando de teste ou execute o caso de teste junit em src / test / java /
- mvn install: Copie o arquivo jar / war empacotado para seu armazém local para uso por outros módulos
- site mvn: o site que gera informações relacionadas ao projeto
- mvn eclipse: eclipse: converter o projeto em um projeto Eclipse
- mvn dependency: tree: imprime toda a árvore de dependências do projeto
Ambiente Maven integrado IDEA
Definir versão do Maven
Criação do projeto Web Maven
- Criar projeto maven webapp
- Projeto gav:
- A estrutura inicial do projeto é mostrada na figura
- Modifique o arquivo de configuração pom.xml
- Modifique a versão do jdk : o padrão é 1.7, modificado para 1.8 da seguinte forma:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
- Junit pode ser excluído se não for necessário
- Exclua a tag pluginManagement e todo o conteúdo da tag
- A
primeira etapa da integração do Maven com o Tomcat :
<plugins>
集成Tomcat9插件
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<!--访问端口-->
<port>8080</port>
<!--对外访问路径-->
<path>/mavenDemo</path>
<uriEncoding>UTF-8</uriEncoding>
<server>tomcat7</server>
</configuration>
</plugin>
</plugins>
Etapa 2:
1.
2.
Conceito de armazém Maven
Os armazéns Maven são divididos em duas categorias: armazéns locais e armazéns remotos .
Quando o Maven procura componentes com base nas coordenadas, ele primeiro verifica o armazém local e o usa diretamente. Se o armazém local não existir, ele procura e faz o download do armazém remoto para o armazém local. Se não houver nem o armazém local nem no warehouse remoto, o Maven reportará um erro.
Existem três tipos de armazéns remotos: armazém central, servidor privado e outros armazéns públicos.
Na configuração padrão, o Maven usa o armazém central para baixar pacotes jar.
O servidor privado é outro tipo especial de warehouse remoto, a fim de economizar largura de banda e tempo, configurar um servidor de warehouse privado na rede local e usar este warehouse para servir como proxy de todos os depósitos remotos externos. Projetos internos também podem ser carregados para o servidor privado para outros projetos usarem
Se você não configurar a pasta do warehouse local, o caminho do warehouse local padrão é: $ {User} /. M2 / repository /. Recomenda-se modificar a configuração da pasta de warehouse local criada por você. O método de configuração foi mencionado antes.