Talvez eu não fosse talentoso e, quando conheci o Maven, fiquei confuso com vários tutoriais desconhecidos. No meu uso posterior, descobri que a maioria das funções do Maven não era tão difícil quanto imaginava.
Este artigo é para iniciantes do Maven, na esperança de deixá -lo entender o MAVEN o mais rápido possível e aproveitar a série de benefícios que ele traz.
[Uma pergunta simples]
Antes de dar uma explicação, faça uma pergunta simples.
Se você estiver desenvolvendo dois projetos de Java no Eclipse e os chama de A e B, algumas funções no Projeto dependem de determinadas classes no Projeto B, como manter essa dependência?
Eu fiz isso antes de usar o Maven, o Projeto B embalado como uma jarra e importei o arquivo JAR de B sob a Biblioteca do Projeto A.
Isso tem desvantagens óbvias:
1. Se um bug em B for encontrado durante o processo de desenvolvimento, B deve ser reembalado e recompilado para o Projeto A.
2. Ao colaborar no desenvolvimento do projeto A, a fim de garantir que ele possa ser executado normalmente, opte por empacotar B em A ou optar por publicar B como B e informar o desenvolvedor de como usá -lo. Obviamente, ambos os métodos não são muito bons. O primeiro pode causar desperdício de recursos (por exemplo, o desenvolvedor pode estar desenvolvendo outros projetos que dependem de B, que foi armazenado localmente), enquanto o último trará riscos para a operação normal do projeto (se o trabalho for entregue ao trabalho manual, será destinado a trazer uma certa taxa de falha).
Portanto, controlar manualmente as dependências entre os projetos dessa maneira é obviamente uma abordagem "ruim".
[Introdução ao maven]
De acordo com a opinião do autor, a função principal do Maven é descrever razoavelmente as dependências entre os projetos.
Todos os projetos maven contêm um arquivo chamado pom.xml, que registra seu próprio <voundID> <TRAFACTID> <versão> e outros campos. Esses campos são preenchidos ao criar um projeto Maven, e o Maven localizará o projeto com base neles.
Outra tag -chave em um POM é <pendências>, que pode conter várias tags <pendência>, e em <ependency> são os campos de dependência, como <voundID> <TROTIFACTID> <versão> introduzidos acima, que determinam uma versão exclusiva do projeto.
Um pom.xml típico [do Projeto Luajava]:
<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>org.keplerproject</groupId> <artifactId>luajava</artifactId> <version>1.1</version> <packaging>jar</packaging> <name> luajava </name> <url> http://maven.apache.org </url> <sperties> <Project.build.sourceEncoding> utf-8 </project.build.sourcencoding </Properties> <uft> <plugins> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <Versão> 3.8.1 </sbers> <cope> test </cope> </dependency> </project>
[Biblioteca Maven]
Tomando os projetos A e B agora como exemplo, escreva <pendência> no arquivo POM do Projeto A, e o MAVEN encontrará o projeto B no espaço de trabalho e criará dependências. No momento, o projeto A pode acessar diretamente os recursos da classe no Projeto B, e o ponto de interrupção definido no Projeto B ainda será atingido durante a depuração de A.
Além da Associação de Dependência do Espaço de Trabalho, o Maven também pode associar projetos em uma imagem remota. Por padrão, se não houver registro de projeto correspondente na área de trabalho, o MAVEN se conectará ao repositório central para procurar. Se encontrado, ele baixará o projeto para a biblioteca local (a biblioteca local no Windows está localizada no diretório .m2 do documento do usuário) e definirá automaticamente a associação. Este é um recurso muito conveniente. Quando precisamos de suporte adicional do pacote JAR, não precisamos mais baixá -lo e apresentá -lo manualmente. Precisamos apenas colar os campos de dependência correspondentes ao projeto na localização apropriada do POM e deixar o restante para o MAVEN para concluir.
[Um exemplo]
Então, como conhecemos os campos como o GroupID do projeto necessário?
De um modo geral, se o projeto oficial suportar o Maven, geralmente haverá um campo de dependência em sua página para copiar, mas também há uma situação em que o Maven é suportado, mas nenhum campo dependente é fornecido. As características do Maven de outros projetos são mantidas por terceiros e é difícil obter apoio ao MAVEN de canais oficiais.
Portanto, a solução preferida para consultar os campos de dependência é usar o Serviço de Pesquisa do Maven para pesquisar.
Aqui recomendo um endereço: mvnrepository.com
A seguir, é apresentado um exemplo de uso do Eclipse para associar o driver MySqljdbc. Antes disso, confirme que ele suporta o Maven em Help-> UnderClipse:
Na nova versão oficial do Eclipse, o suporte ao Maven já está embutido. Se a versão for mais antiga, você poderá instalar o plug-in maven.
Vamos primeiro criar um novo projeto maven, new-> project-> mavenproject-> createasimpleproject (skiparcetypeselection).
O seguinte é o passo mais importante. Preencha os campos de dependência, como o GroupID deste projeto. Os campos preenchidos aqui serão usados quando outros projetos dependem deles. As peças não preenchidas são opcionais:
Depois disso, procuramos "MySQL JDBC" em mvnrepository.com
Em breve, encontramos o resultado e clicamos para ver as informações detalhadas da versão:
Aqui está a lista de várias versões e o uso do MySQL JDBC. Aqui escolhemos uma segunda nova versão 5.1.34:
Copie o conteúdo na caixa Maven e escreva -os nas <pendências> do POM:
<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> <purpuld> com.test </purpyid> <TrAtifactId> MAVENTEST </ArtifactId> <versão> 0,0.1-SNAPSHOTS </versão </versão> <TarfactId> mysql-conector-java </stifactId> <versão> 5.1.34 </version> </dependency> </dependências> </projection>
Após o término da barra de leitura do progresso, você pode ver que existem mais dependências do MAVEN no projeto, e você pode encontrar o pacote de driver JDBC que acabamos de introduzir:
[Outros recursos]
1. Fonte espelho
É óbvio que o armazém central do MAVEN tem uma carga relativamente grande e não está na China; portanto, a velocidade é muito lenta e, às vezes, as dependências não podem ser encontradas. Portanto, especialmente em ocasiões de desenvolvimento de equipes em pequena escala, a construção de um servidor privado Maven melhorará bastante a eficiência. Aqui está uma ferramenta de construção de imagens Maven: Nexus: http://www.sonatype.org/nexus/
Use -o para criar uma fonte de imagem do Maven Private e, em rápida e facilmente
2. Download preguiçoso do código -fonte SRC
Em algum momento, precisamos nos referir ao arquivo de origem que depende do projeto. No momento, podemos tentar clicar duas vezes no arquivo de classe diretamente. Se houver um arquivo de origem na fonte de imagem Maven, ele será baixado automaticamente para a área local e o Eclipse carregará e exibirá automaticamente.
3. Compilar a configuração de parâmetros
O autor usa a versão Eclipseluna. A versão de compilação Java padrão do Maven é 1.5. Podemos especificar sua versão de compilação no POM para melhorá -la para 1.7 (consulte a tag de construção em luajavapom); Além disso, essas configurações também serão lidas e configuradas corretamente por ferramentas de automação, como a integração contínua Jenkins.
Resumir
O exposto acima é sobre entender rapidamente o Maven. Espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!