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. 发布message给其他包使用

    https://answers.ros.org/question/65716/which-is-the-correct-way-to-install-header-files-in-catkin-pa ...

  2. spring applicationContext.xml 中bean配置

    如果采用set get方法配置bean,bean需要有set get 方法需要有无参构造函数,spring 在生成对象时候会调用get和set方法还有无参构造函数 如果采用constructor方法则 ...

  3. [转载]如何将OFBIZ(opentaps)默认数据库迁移至mysql((2

    原文地址:如何将OFBIZ(opentaps)默认数据库迁移至mysql(利昂原创)作者:利昂 ofbiz自带的数据库是Derby,这是一种小型的适合与测试系统的数据库,但不适合在产品级系统中使用,所 ...

  4. AC日记——病毒侵袭持续中 hdu 3065

    3065 思路: 好题: 代码: #include <queue> #include <cstdio> #include <cstring> using names ...

  5. 洛谷——P1152 欢乐的跳

    P1152 欢乐的跳 题目描述 一个n个元素的整数数组,如果数组两个连续元素之间差的绝对值包括了[1,n-1]之间的所有整数,则称之符合“欢乐的跳”,如数组1 4 2 3符合“欢乐的跳”,因为差的绝对 ...

  6. 【PHP】mysql基本操作整合

    php版本:PHP Version 5.5.1 环境:windows10 XMAPP 数据库:mysql 代码: <?php function connetionDB($servername, ...

  7. HashSet如何排序

    方法一: 把HashSet保存在ArrayList里,再用Collections.sort()方法比較 private void doSort(){ final HashSet<Integer& ...

  8. 3.2常用类(java学习笔记)String与StringBuffer

    一.String String又称不可变字符序列. 我们看JDK源码中用于字符存储的数组有final修饰,final修饰变量就代表变量不能改变. 我们可以看API文档中对String的描述. Stri ...

  9. 关于char类型的说明

    #include<iostream> using namespace std; int main() {  char ch=128;//VC编译器默认是有符号的.但c并未明确给出.由编译器 ...

  10. python语言实现阶乘的两种方法---递归和迭代

    阶乘的递归实现,代码如下: def factorial(n): if n==1: return 1 else: return n*factorial(n-1) number = int(input(& ...