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. C# axWindowsMediaPlayer制作播放器

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  2. 使用Postman访问OAuth2保护的WebAPI

    Instantnoodle现时的WebAPI已经受Azure AD保护,平时直接输入URL的方式已经不能够正常访问到WebAPI 所有API都可以Swagger页面找到 http://getazdev ...

  3. STL模板整理 priority_queue

    priority_queue 优先队列是队列的一种,不过它可以按照自定义的一种方式(数据的优先级)来对队列中的数据进行动态的排序,每次的push和pop操作,队列都会动态的调整,以达到我们预期的方式来 ...

  4. 见微知著(三):解析ctf中的pwn--Fastbin和bins的溢出

    1月1号写博客,也是不容易呀!大家新年快乐呀! 先从Fastbin看起,是2015年RCTF的一道pwn题,shaxian.先看看代码的大致流程,随便输入一下: 这个题目关键之处在于堆溢出,对于堆种类 ...

  5. Linux命令之fdisk

    fdisk fdisk [选项] <disk>  改变分区表 fdisk [选项] –l <disk>  列出所有分区表 fdisk –s <partition(分区编号 ...

  6. luogu P1313 计算系数

    二项式定理 组合数取膜 费马小定理 #include<iostream> using namespace std; #define mod 10007 #define int long l ...

  7. 【Treap模板详细注释】BZOJ3224-普通平衡树

    模板题:D错因见注释 #include<iostream> #include<cstdio> #include<cstring> #include<algor ...

  8. [USACO2015DEC]Max Flow

    题目大意: 给你一棵n个点的树,有m次操作,每次将给定的路径上所有点的点权+1. 问最后最大的点权是多少. 思路: #include<cstdio> #include<cctype& ...

  9. Android Studio 生成aar包,并在其他项目中引用

    1.新建Module 2.作为library来使用 3.在这个library写需要独立出来的东西 4.重新编译工程 5.切换到Project模式查看aar包,生成成功~ 6.引用方法,切换到Proje ...

  10. select * from sys.sysprocesses

    MSDN:包含正在 SQL Server 实例上运行的进程的相关信息.这些进程可以是客户端进程或系统进程. 视图中主要的字段: 1. Spid:Sql Servr 会话ID 2. Kpid:Windo ...