一、概述

     Maven是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
     Maven有一个生命周期,当你运行mvn install的时候被调用。这条命令告诉Maven执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个JAR文件这样的工作。
     此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。

1.项目的构建流程

 

2.Maven模型

          

3.Maven的约定

src/main/java: 存放项目的java文件。

src/main/resources: 存放项目的资源文件,如spring,hibernate的配置文件。

src/test/java: 存放所有的测试的java文件。

src/test/resources: 存放测试用的资源文件。

target: 项目输出位置。

pom.xml 文件

 

 

二、基础入门

1.下载jar包并解压

bin: 含有mvn运行的脚本。

boot: 含有plexus-classworlds类加载器框架 。

conf: 含有settings.xml配置文件。

lib: 含有Maven运行时所需要的java类库。

LICENSE.txt, NOTICE.txt, README.txt针对Maven版本,第三方软件等简要介绍。

 

2.配置环境变量

(1)在path路径添加Maven的bin目录路径

    D:\maven-3.3.9\bin

(2)添加环境变量 M2_HOME

     M2_HOME = D:\maven-3.3.9

 

3.建库

(1)打开路径

     C:\Users\Administrator\.m2

 

(2)复制settings.xml到上述路径

    D:\maven-3.3.9\conf目录下有settings.xml文件,复制到上面的路径下。

 

(3)修改settings.xml文件

(4)配置Eclipse

第一步

 

第二步

 

第三步

     -Dmaven.multiModuleProjectDirectory=$M2_HOME

 

4.Hello

(1)新建一个MavenProject

 

(2)创建Java文件

     稍等片刻,这个工程左上角会出现M字样。

One.java

public class One{

	public String say(String name){

		return "Hello Maven " + name;
}
}

 

OneTest.java

public class OneTest{

	@Test
public void testOne(){
One one = new One();
String result = one.say("AAA");
Assert.assertEquals("Hello Maven AAA",result);
}
}

 

(3)运行项目

     单击右键项目"run as"--->maven build,在Navigator视图下可以看到target目录下有文件了。

    

 

(4)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>
<!-- 群组ID: 公司域名反写 -->
<groupId>com.kiwi</groupId>
<!-- 项目ID: 一个公司只有一个域名,但是可以有多个项目 -->
<artifactId>One</artifactId>
<!-- 版本号: 用于描述开发过程的阶段性标识-->
<version>0.0.1-SNAPSHOT</version> <!-- 默认字符集 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> <!-- 依赖管理 -->
<dependencies>
<!-- 具体的依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

Maven基础学习(一)—Maven入门的更多相关文章

  1. maven基础学习-为什么要用maven,帮助解决了什么问题,怎么解决的,希望以后学习每个知识点都可以这样问下自己

    maven基础学习 第1章 Maven介绍 1.1 什么是Maven 1.1.1 什么是Maven Maven 的正确发音是[ˈmevən],而不是"马瘟"以及其他什么瘟.Mave ...

  2. Maven基础学习笔记

    Maven基础学习笔记 下载链接 官网:https://maven.apache.org/ 所有版本:https://archive.apache.org/dist/maven/maven-3/ 阿里 ...

  3. maven基础学习篇

    一.Maven的两大核心功能:依赖管理(主要是jar包的管理)  和   一键构建 1.依赖管理:maven项目所需要的jar包全部放在仓库中,项目只放置jar包的坐标,所要用到的jar包都从仓库中获 ...

  4. maven基础学习

    项目结构 src      -main           -java                -package      -test           -java               ...

  5. 零基础学习STM32之入门学习路线

    可以说就目前的市场需求来看,stm32在单片机领域已经拥有了绝对的地位,51什么的已经过时了也只能拿来打基础了,最后依然会转到stm32来,也正是因为这样stm32的学习者越来越多,其中不难发现绝大部 ...

  6. 【APICloud】APICloud基础学习与快速入门

    前言:回顾这几天学习情况,总的来说APICloud官网它的学习资料和社区还是足够了,但是我必须吐槽一句,实在是过于混乱了,视频资料文档资料它一股脑地都堆在了那里,这几天基本处于在各个地方跳转,然后现在 ...

  7. Maven基础配置—本地Maven配置

    1.下载客户端 通过http://maven.apache.org/download.cgi#下载Maven本地客户端. 我下载的是apache-maven-3.2.5-bin.zip,在D盘解压. ...

  8. 编程基础学习JS的入门教程

    将JavaScript 插入网页的方法 使用<script>标签在网页中插入Javascript代码. 插入JavaScript 与在网页中插入CSS的方式相似.使用下面的代码可以在网页中 ...

  9. (一)Maven基础及第一个Maven工程

    一.Maven介绍 ANT/Maven/gradle是一个项目管理工具,它包含了一项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecy ...

随机推荐

  1. ionic接入广告

    一.获取Admob phonegap 广告插件(cordova 广告平台插件) 在cordova 和phonegap等html5手机应用里面展示Admob,百度移动联盟,广点通广告需要Cordova ...

  2. MYSQL创建用户Unknown column 'plugin' in 'mysql.user'的解决方法

    执行下列sql ALTER TABLE `user` ADD `Create_tablespace_priv` ENUM('N','Y') NOT NULL DEFAULT 'N' AFTER `Tr ...

  3. 记忆 : Odata $count

    在v4.0 的规范中,没有$inlineCount,只有$count. 但是在Entity 不支持$count,给出的原因是这样的, asp.net 的 web api 是支持Odata 的, 但是e ...

  4. 每天一个linux命令(29)--Linux chmod命令

    chmod 命令用于改变Linux 系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. Linux系统中 ...

  5. 2017-2-22 if语句 if语句的嵌套 以及课堂练习 经典猜拳游戏,闰年判断,输出当前时间的天数等

    (一)if语句 1.格式   if(){ }else if() { } 注意:如果if后面不写花括号,只执行下面第一句 (二)语句1:顺序语句 2:循环语句 3:分支语句 课后练习: 1.猜拳游戏(用 ...

  6. 弹出层js要这样加才不会失效

    $('body').on('click','.check_eln',function(){    $('#eln_show').toggleClass('hidden'); });

  7. 【Rsync项目实战】备份全网服务器数据

    [Rsync项目实战]备份全网服务器数据 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载,转 ...

  8. 3018: [Usaco2012 Nov]Distant Pastures

    3018: [Usaco2012 Nov]Distant Pastures Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 43  Solved: 20[ ...

  9. 1692: [Usaco2007 Dec]队列变换(BZOJ1640强化版)

    1692: [Usaco2007 Dec]队列变换 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 682  Solved: 280[Submit][Sta ...

  10. 扩大按钮 btn 响应区域

    方法一:类别 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #c91b13 } p.p2 { margin: 0 ...