Maven概述

【什么是Maven】

Maven是一个实现自动化构建的工具软件。

【自动化构建】

构建:构建不是简单的创建一个项目。所谓构建是指执行清理、编译、打包、部署等一系列的操作的过程。

自动化构建:所谓自动化构建是指应用工具软件实现构建的过程。构建过程由软件来完成。

【基本概念】

约定的目录结构 Maven可以实现自动化的构建,构建过程中会涉及到测试、编译等工作;相关的结果如何进行存储?Maven会将不同结果存储在不同的目录下。

坐标:Maven可以同时管理N多个项目。通过坐标可以快速进行项目的查找。

仓库:Maven是通过仓库对项目进行管理的。仓库有本地仓库和远程仓库。

依赖:工程中所需要用到的其他的工程就称为依赖。

PomProject object Model的缩写,称为项目对象模型。Maven是通过pom对工程进行管理的。

【安装Maven】

Maven压缩包解压缩到本地磁盘。

【配置环境变量】

(1)新建MAVEN_HOME变量

(2)在Path中配置Maven

path变量的内容字符串前或后加入“%MAVEN_HOME%in”。并且以";"作为分隔符。

【测试】

在命令行窗口下输入:mvn --v

注意事项:配置Maven必须先配置Jdk环境变量(JAVE_HOME)。

【约定的目录结构】

(1)为了实现自动化构建,使用Maven时必须按照约定的目录结构创建项目代码。

(2)目录结构:

src

  |------main

  |       |-----java

  |       |-----resources

  |------test

          |------java

          |------resources

pom.xml

(3)说明:

main :目录下存储Java项目的源代码文件。其中java存储源代码。resources存放资源文件,如:jdbc.properties等。

test :目录下存储项目测试的源代码文件。其中java中存储测试代码,resources存储测试的资源文件。

示例:

(1)java代码

Hello.java:

1 package cn.hl.clazz;
2 
3 public class Hello{
4     public void sayHello(){
5         System.out.pringln("hello maven");
6     }
7 }

(2)测试代码

TestHello.java:

 1 package cn.hl.clazz;
 2 
 3 import org.junit.Test;
 4 
 5 public class TestHello{
 6     @Test
 7     public void test1(){
 8         Hello hello = new Hello();
 9         hello.sayHello();
10     }
11 }

(3)Pom.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 4 
 5     <!-- 模型的版本,不能进行修改。从Maven2.0开始使用4.0.0-->
 6     <modelVersion>4.0.0</modelVersion>
 7     
 8     <!--三要素:坐标。通过三要素可以定位到一个工程-->
 9     <groupId>cn.hl.hello</groupId>
10     <artifactId>hello</artifactId>
11     <version>0.1.1</version>
12  
13     <!-- 配置依赖的工程 -->
14     <dependencies>
15         <dependency>
16             <groupId>junit</groupId>
17             <artifactId>junit</artifactId>
18             <version>4.0.0</version>
19         </dependency>
20     </dependencies>    
21 </project>    
每接触一个新领域,我就像一块掉进水里的海绵,四面八方的养分都让我不断充实。O(∩_∩)O~
原文地址:https://www.cnblogs.com/zhzcode/p/9717971.html