1 Maven的安装

maven下载路径:http://maven.apache.org/download.cgi

我是在win7上安装了,安装后在cmd输入 mvn -v:

C:\Users\****>mvn -v
Apache Maven 3.0.3 (r1075438; 2011-03-01 01:31:09+0800)
Maven home: C:\Program Files\apache-maven-3.0.3
Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
Java home: C:\Program Files\Java\jdk1.6.0_45\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"

看见如上信息表示Maven已经安装好了,当然在这之前必须装好JDK。

2 Maven的应用

等你安装好Maven后,接下去的一步是要了解maven的核心概念,这样才干在使用maven的时候游刃有余。

接下来我们介绍以下这几个核心概念:

  • POM (Project Object Model)
   来看一个Maven的简单POM配置:

Xml 代码

     <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>com.mycompany.helloworld</groupId>
<artifactId>weibo-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>weibo-api</name>
<url>http://maven.apache.org</url> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>

在 POM 中,groupId, artifactId,version 叫作 Maven 坐标。它能唯一的确定一个项目。有了 Maven 坐标,我们就能够用它来指定我们的项目所依赖的其它项目,插件,或者父项目。

  • Maven依赖管理

举个简单的样例。比方我要maven struts repository

就非常快Baidu能够找到以下这段代码:

<dependency>
<groupId>struts</groupId>
<artifactId>struts</artifactId>
<version>1.2.9</version>
</dependency>

在pom.xml中增加上边一段代码,eclipse就会自己主动下载所依赖的jar包。

  • 本地库(localRepository)

下载的jar包和source须要存放在本地的目录,一般默认在C:\Program Files\apache-maven-3.0.3\conf下的setting.xml中配置:

<span style="font-size:14px;"><?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- 本地 maven 仓库地址 -->
<localRepository>D:\MY_Repository</localRepository>
<pluginGroups/>
<proxies/>
<!-- maven 仓库用户认证信息 -->
<servers>
<server>
<id>****</id>
<username>你的用户名</username>
<password>密码</password>
</server>
<server>
<id>****</id>
<username>你的用户名</username>
<password>密码</password>
</server>
<server>
<id>****</id>
<username>你的用户名</username>
<password>密码</password>
</server> </servers>
<!-- maven 仓库本地镜像配置 -->
<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<name>nexus local repo.</name>
<url>http://maven.****.cn/content/groups/public/</url>
</mirror>
</mirrors> <!-- 公司 maven 仓库服务器地址配置 -->
<profiles>
<profile>
<id>myProfie</id>
<repositories>
<repository>
<id>****</id>
<name>**** Nexus Repository</name>
<url>http://maven.****.cn/content</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>****-nexus</id>
<name>**** Nexus Repository</name>
<url>http://maven.****.cn/content</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>myProfie</activeProfile>
</activeProfiles> </settings>
</span>

当中D:\MY_Repository就是本地的仓库,能够自己改动想放哪放哪!

  • 下载坐标的理解

Maven按什么规则去存放Dependency? 

以下我们来拿struts作样例,这个是hibernate的Dependency配置

<dependency>
<groupId>struts</groupId>
<artifactId>struts</artifactId>
<version>1.2.9</version>
</dependency>

它被下载后将会被存放至 

%repository%\org\struts\struts\1.2.9\struts-1.2.9.jar 

当中%repository%就是你本地的repository目录。

按你的Dependency的groupid + artifactid + version,然后以点号作分隔。来建立目录的。最后建立的目录例如以下 

|--org 

    |--struts

        |--struts

            |--1.2.9 

                |--struts-1.2.9.jar 

 那么我们下载的jar包就被命名为artifactId + "-" + version + ".jar"。 


初步学习Maven的使用,兴许有待深入。

Maven入门学习的更多相关文章

  1. maven入门学习(一)

    一.maven介绍 1.软件开发中我们为什么要使用maven呢?(纯属个人体会观点,如有错误,敬请指正) (1)其一,企业岗位需求,目前的IT开发招聘岗位上,基本都要求会使用maven.        ...

  2. Maven入门学习 (一)

    学习Java 的同学就一定会学习Maven, 那么Maven为什么会得到大量用户的使用呢?它是用来干什么的呢 ?接下来就来介绍 Q:Maven的作用? (1)Maven可以自动化构建项目,可以从清理. ...

  3. Maven入门学习,安装及创建项目

    一.maven介绍: 1.maven是一个基于项目对象模型(POM Project Object Model),通过配置文件管理项目的工具(项目管理工具). 2.maven主要功能:发布项目(从编译到 ...

  4. Maven学习专题--Maven入门及安装

    因为项目需要,新项目需要使用Maven开发,但是组内大部分没有接触过maven.我就毅然承担搭建maven环境的任务了.因为一切重头开始,就想把自己的整个搭建环境.项目创建.框架整合和模块管理整个过程 ...

  5. dubbo入门学习笔记之入门demo(基于普通maven项目)

    注:本笔记接dubbo入门学习笔记之环境准备继续记录; (四)开发服务提供者和消费者并让他们在启动时分别向注册中心注册和订阅服务 需求:订单服务中初始化订单功能需要调用用户服务的获取用户信息的接口(订 ...

  6. Maven学习总结(1)——Maven入门

    Maven学习总结(一)--Maven入门 一.Maven的基本概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平台的 ...

  7. Maven入门详解

    什么是Maven Maven,鼎鼎大名,在今天之前,我对于它一直是处于一种"只闻其名不见其人"的状态.之所以说"只闻其名",是因为Maven太有名了,它是Apa ...

  8. Maven入门详解以及Eclisp的集成

    1.首先要安装Maven到操作系统上 Maven的下载页面:http://maven.apache.org/download.html Maven跟Tomcat很像,下载下来后直接解压在指定的目录就安 ...

  9. Maven入门2-pom.xml文件与settings.xml文件

    Maven入门2-pom.xml文件与settings.xml文件 本文内容来源于官网文档部分章节,settings.xml文件:参考http://maven.apache.org/settings. ...

随机推荐

  1. Python 进阶 之 闭包变量

    在闭包内访问外部变量的方法有两种: 1:变量前加nonlocal(仅支持Python3) 2:用列表来代替变量.即使是只有一个元素的数组,否则会报错.

  2. 【转】学一点Git--20分钟git快速上手

    看到一篇不错的Git的简单入门教程,转过来给自己留个底. 原文地址:http://www.cnblogs.com/shuidao/p/3535299.html 在Git如日中天的今天,不懂git都不好 ...

  3. 洛谷——P2117 小Z的矩阵

    P2117 小Z的矩阵 题目描述 小Z最近迷上了矩阵,他定义了一个对于一种特殊矩阵的特征函数G.对于N*N的矩阵A,A的所有元素均为0或1,则G(A)等于所有A[i][j]*A[j][i]的和对2取余 ...

  4. [BZOJ 4060] Word Equations

    Link: BZOJ 4060 传送门 Solution: 可以发现字符串间的关系可以构成一棵树 于是我们先用字符串哈希建树,再树形$dp$即可 设$dp[i][j]$为第$i$个节点从$P$字符串的 ...

  5. [BZOJ 2115] Xor

    Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2115 Algorithm: 此题一看到是求异或和最大问题的,立即想到使用线性基解题 最终 ...

  6. POJ 3260 The Fewest Coins(背包问题)

    [题目链接] http://poj.org/problem?id=3260 [题目大意] 给出你拥有的货币种类和每种的数量,商店拥有的货币数量是无限的, 问你买一个价值为m的物品,最少的货币流通数量为 ...

  7. 【kruscal】【最小生成树】poj2421 Constructing Roads

    SB题,求最小生成树,其中有些边已经给您建好啦. 随意暴力即可. #include<cstdio> #include<algorithm> #include<cstrin ...

  8. 【点分治】bzoj2152 聪聪可可

    模板题. #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> ...

  9. python基础--常用模块与面向对象基础

    1常用模块 1.1 xml xml是实现不同语言或程序之间进行数据交换的协议 xml的格式如下: <?xml version="1.0"?> <data> ...

  10. Scala零基础教学【41-60】

    第41讲:List继承体系实现内幕和方法操作源码揭秘 def main(args: Array[String]) { /** * List继承体系实现内幕和方法操作源码揭秘 * * List本身是一个 ...