一、下载及安装

1.1 下载maven 3.1.1

先到官网http://maven.apache.org/download.cgi 下载最新版本(目前是3.1.1 ),下载完成后,解压到某个目录(本文中是C:\Java\maven-3.1.1)

2.1 配置环境变量

系统环境变量里,添加MAVEN_HOME(或M2_HOME),其值为C:\Java\maven-3.1.1,然后PATH环境变量最后附加上";%MAVEN_HOME%\bin"

检测方法:

a) 重新进入命令行(DOS窗口)模式,输入 echo %MAVEN_HOME% 如果能显示 C:\Java\maven-3.1.1 说明环境变量起作用了

b) 输入 mvn -version,正常情况下会显示maven及jdk的版本号

(前提:jdk环境必须先安装好,否则后面无法正常编译项目)

解释一下这个xml文件的内容:

  • modelVersion: 这个XML文件所使用的POM格式的版本
  • groupId: 相当于这个project的所有者或者机构的一个标识,一般是com.company.xxx这种格式
  • artifactId:  这个project最后所生成的文档(jar、war)的名字,比如对于junit这个开源的project,它的artifactId就是junit
  • packaging: 这个project的打包的类型,一般是war、jar等值
  • version: project的版本
  • name: project的名字,生成文档等内容的时候会用的这个名字

repository & dependency

maven里面有一个repository的概念,当我们的项目依赖于某个jar时,maven会去repository里面去找。repository分两种,一种是远程的,一种是本地的。如果有几个project都用到junit,我们可以把junit放在repository里面,几个project可以公用,节约存储空间而且方便管理,这个repository的位置可以在pom.xml里面设置。

本地的默认的路径是安装用户的目录下的 .m2\repository 文件夹。如果一个依赖项在本地的repository里面没有,那么maven会去他自己的远程的repository http://repo.maven.apache.org/maven2 去下载后放到本地的repository里面。

也就是说,我们如果我们的project需要要引用一个依赖项,我们只需要在pom.xml文件中进行配置,maven会自动帮我们去引用。 我们之前的创建project里面需要写单元测试,引用到了junit,看pom中的配置:

1
2
3
4
5
6
7
8
<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
</dependencies>

每一个需要为每一个 dependency 指明groupId,artifactId,version。scope很简单,意思是说我们需要怎么引用,比如我们上面的例子里面设置的是test,意思是说只在test里面引用junit。 但是我们如何知道groupId,artifactId和version呢? 比如我现在想引用log4j,这个几个值怎么填? 可以去http://mirrors.ibiblio.org/maven2/ 上去查找。比如log4j,我们就在上面这个地址加上log4j,也就是http://mirrors.ibiblio.org/maven2/junit/。进去后会有一个maven-metadata.xml,打开就可以知道这些值了然后添加这个dependency了。

如果要把一个project安装到本地的repository里面,可以执行下面的命令:

mvn install

到这里就说完了创建,编译,测试,打包以及安装,大部分的项目也就是做这些事情。

再介绍几个其它命令:

  1. mvn site : 为你的project创建一个站点
  2. mvn clean: 清除target目录下的所有文件
  3. mvn eclipse:eclipse :为project生成eclipse的工程文件和classpath文件
 

maven的小知识的更多相关文章

  1. 蓝牙Bluetooth技术小知识

    蓝牙Bluetooth技术以及广泛的应用于各种设备,并将继续在物联网IoT领域担任重要角色.下面搜集整理了一些关于蓝牙技术的小知识,以备参考. 蓝牙Bluetooth技术始创于1994年,其名字来源于 ...

  2. HTML+CSS中的一些小知识

    今天分享一些HTML.CSS的小知识,希望能够对大家有所帮助! 1.解决网页乱码的问题:最重要的是要保证各个环节的字符编码一致! (1)编辑器的编辑环境的字符集(默认字符集):Crtl+U 常见的编码 ...

  3. iOS APP开发的小知识(分享)

          亿合科技小编发现从2007年第一款智能手机横空出世,由此开启了人们的移动智能时代.我们从一开始对APP的陌生,到现在的爱不释手,可见APP开发的出现对我们的生活改变有多巨大.而iOS AP ...

  4. Unix系统小知识(转)

    Unix操作系统的小知识 2.VI添加行号/翻页/清屏 .在对话模式时(即输完Esc再输入: ),输入“:set number”可以将编辑的文本加上行号.跟玩俄罗斯方块一样方便的上下左右移动箭头的快捷 ...

  5. salesforce 零基础开发入门学习(十)IDE便捷小知识

    在这里介绍两个IDE的便捷开发的小知识. 一) 本地调试 由于salesforce代码只能提交以后才能调试,所以很多时候调试代码很麻烦.新版增加了一个特性:即可以在本地调试相关的代码或者查看相关代码运 ...

  6. Jquery:小知识;

    Jquery:小知识: jQuery学习笔记(二):this相关问题及选择器   上一节的遗留问题,关于this的相关问题,先来解决一下. this的相关问题 this指代的是什么 这个应该是比较好理 ...

  7. HTML小知识---Label

    今天知道了一个html小知识: <input type="checkbox" id="chkVersion" />                 ...

  8. Unicode和汉字编码小知识

    Unicode和汉字编码小知识 将汉字进行UNICODE编码,如:“王”编码后就成了“\王”,UNICODE字符以\u开始,后面有4个数字或者字母,所有字符都是16进制的数字,每两位表示的256以内的 ...

  9. Java异常的一个小知识

    有以下两个代码: package com.lk.A; public class Test3 { public static void main(String[] args) { try { int a ...

随机推荐

  1. day8 python学习 集合 深浅拷贝

    1.内存地址: 字符串在20位以内,没有空格,没有特殊字符的情况下,同样的字符串内存地址是一样的 2.元组中:在只有一个值的时在后边加逗号和没有逗号的区别 t1=(1) 不加逗号这个值是什么类型就打印 ...

  2. [连载]Java程序设计(03)---任务驱动方式:寻找高富帅和屌丝

    版权声明:本文为博主原创文章,请在转载时说明出处. https://blog.csdn.net/jackfrued/article/details/26163877 任务:相同在上一家公司.公司还须要 ...

  3. 【VB.NET】——若水归海

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/successA/article/details/34496209 看完台湾微软特约资深讲师的VB.N ...

  4. MySQLi基于面向对象的编程

    http://blog.csdn.net/koastal/article/details/50650500

  5. 弹性盒子布局(display:flex)知识点

    设为 Flex 布局以后,子元素的float.clear和vertical-align属性将失效.

  6. spring的IDE:STS (Spring Tool Suite)

    STS 比 eclipse 新增的内容: 在 New =>Other... 中新增了 Spring 文件夹,里面新增了 Spring Legacy Project 和 Spring Starte ...

  7. Django Ajax登录 防止CSRF

    什么是CSRF 维基百科: 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CS ...

  8. C# 使用OLEDB读取不同版本Excel数据的连接字符串

    用OLEDB通过设置连接字符串可以像读取sqlserver一样将excel中的数据读取出来,但是excel2003和excel2007/2010的连接字符串是不同的 /// <summary&g ...

  9. git: fatal: Could not read from remote repository

    This is probably an Intellij problem. Your key are managed natively by ssh, and Intellij has it's ow ...

  10. 【Active入门-2】ActiveMQ学习-生产者与消费者

    1个生产者,1个消费者,使用Queue: 方式1: 生产者将消息发送到Queue中,退出: 然后运行消费者: . 可以看到,可以接收到消息. 方式2: 先运行消费者程序: 然后运行生产者: 消费者见下 ...