一、概述

     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

  1. public class One{
  2.  
  3. public String say(String name){
  4.  
  5. return "Hello Maven " + name;
  6. }
  7. }

 

OneTest.java

  1. public class OneTest{
  2.  
  3. @Test
  4. public void testOne(){
  5. One one = new One();
  6. String result = one.say("AAA");
  7. Assert.assertEquals("Hello Maven AAA",result);
  8. }
  9. }

 

(3)运行项目

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

    

 

(4)POM文件的解释

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3.  
  4. <!-- 模型版本号 -->
  5. <modelVersion>4.0.0</modelVersion>
  6. <!-- 群组ID: 公司域名反写 -->
  7. <groupId>com.kiwi</groupId>
  8. <!-- 项目ID: 一个公司只有一个域名,但是可以有多个项目 -->
  9. <artifactId>One</artifactId>
  10. <!-- 版本号: 用于描述开发过程的阶段性标识-->
  11. <version>0.0.1-SNAPSHOT</version>
  12.  
  13. <!-- 默认字符集 -->
  14. <properties>
  15. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  16. </properties>
  17.  
  18. <!-- 依赖管理 -->
  19. <dependencies>
  20. <!-- 具体的依赖 -->
  21. <dependency>
  22. <groupId>junit</groupId>
  23. <artifactId>junit</artifactId>
  24. <version>4.9</version>
  25. <scope>test</scope>
  26. </dependency>
  27. </dependencies>
  28. </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. 前端跨域方案-跨域请求代理(node服务)

    前端开发人员在本地搭建node服务,调用接口首先走本地服务,然后转发到api站点,node服务代码如下: var express = require('express'), request = req ...

  2. 【转】Nutch的Hadoop方式爬取效率优化

    原文地址:http://my.oschina.net/junfrank/blog/290404

  3. Maven 搭建SpringMvc+Spring+Mybatis详细记录

    总觉得,看比人写的总是那么好,每次搭建框架时都会找博客,找教程来跟着一步一步走,虽然很快搭建成功了,但是经常情况是我并不知道我干了什么,也不记得具体步骤,到底为什么要这么做,今天我详细记录了一下自己搭 ...

  4. ERP管理员培训报道

    金秋十月,丹桂飘香,为期三天的“201610管理员培训”活动于2016年10月19日在苏州总部成功举行.参与本次培训活动的有浙江卡迪夫电缆有限公司.上海华源瓷业股份有限公司.江苏牛牌纺织机械有限公司. ...

  5. 解决行内元素间隙bug问题

    行内元素之间会产生间隙bug问题的场景: 1.当行内元素之间有“回车”.“tab”.“空格”时就会出现间隙. 如下代码: <div>   <a>1</a>   &l ...

  6. MySQL C#教程

    这是关于MySQL数据库的C#教程,包含了对MySQL数据库基本操作: 数据库访问组件MySql Connect/NET MySql Connect/NET是MySQL官方提供给C#的接口,封装的非常 ...

  7. Python 引用、浅拷贝、深拷贝解析

    引用 Python是动态数据类型的语言,故在对变量进行赋值时是不用制定变量类型的. 或者说,你可以把变量赋值的过程,当作是贴一个标签,去引用该数据. 看下面的例子: In [54]: a=4 In [ ...

  8. 2016: [Usaco2010]Chocolate Eating

    2016: [Usaco2010]Chocolate Eating Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 224  Solved: 87[Su ...

  9. 1212: [HNOI2004]L语言

    1212: [HNOI2004]L语言 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 643  Solved: 252[Submit][Status] ...

  10. 1856: [Scoi2010]字符串

    1856: [Scoi2010]字符串 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 847  Solved: 434[Submit][Status] D ...