最近在开发javaweb项目中有用到maven,以前并不是很了解,于是学习了一些相关内容,记之共享。

本篇内容在Windows环境下实施,JDK版本使用的1.7.0_79。

一、maven是什么?

  简单来说,maven是一个项目构建工具。

  开发人员都有过这样的经历:在项目开发中,为了提高效率,不重复“造轮子”,经常会引用第三方的jar包。一般的做法是:上网搜索,下载jar包,配置到项目的依赖目录下,调用。若引用的jar包较少,这种方式倒也没什么;可如果项目中需要引入大量的jar包,且各依赖包之间可能存在版本冲突时,jar包的管理工作将变得特别繁琐。

  maven的存在就可以轻松解决这个问题。只需在IDE环境中配置好maven,然后新建maven项目,并通过在pom.xml文件中写入简单的配置,就能自动实现jar包的下载和管理。jar包的添加、删除以及版本管理都讲变得十分便捷!

  这是maven最常用的功能,至于其他功能,这里暂时不作深究。

二、maven的安装和配置

  1、安装JDK。maven是基于java语言开发的,因此在安装maven之前,必须确保计算机已经安装了JDK(maven可以运行在JDK1.4及以上版本中)。JDK的安装这里就不做介绍了,网上的教程非常多,傻瓜式安装,然后配置好环境变量即可。打开windows命令行,输入——“java -version”,若显示出java的版本信息,说明计算机已经成功配置好了JDK环境。

  2、下载maven。下载地址:http://maven.apache.org/download.html。其中列举了针对不同平台下的各种版本的maven安装文件。初识maven者建议选择apache-maven-版本号-bin.zip文件下载。若想了解maven源码,可以下载apache-maven-版本号-src.zip文件。

  3、安装maven。maven的安装十分简单,只需将下载的.zip后缀的压缩包解压到你想放置的目录即可。这里的安装以apache-maven-3.3.9-bin.zip文件为例:解压apache-maven-3.3.9-bin.zip,得到apache-maven-3.3.9的文件夹,这里将其放到D://softwares/路径下。安装后需要配置maven的环境变量。右键“我的电脑”,点击“属性”——“高级系统配置”——“环境变量”,在系统变量中点击“新建”:【变量名:M2_HOME;变量值:D://softwares/apache-maven-3.3.9】,点击确认。在系统变量中找到path,双击进行编辑,在变量值的末尾加上%M2_HOME%/bin(注意各值之间需要用“;”分隔)。确认保存退出。打开windows命令行,输入——“mvn -version”,若显示出maven的版本信息,说明计算机已成功配置好了maven环境。

三、在eclipse配置使用maven

  有些eclipse版本中默认集成了m2eclipse模块,即可以直接新建maven项目,如eclipse mars。若你的eclipse中没有新建Maven Project的选项,你可以选择在eclipse中安装m2eclipse模块,点击eclipse菜单栏中的“Help”——“Install New Software...”,然后输入【Name:m2e;Location:http://m2eclipse.sonatype.org/sites/m2e/】。按步骤安装即可。当然你也可以选择使用集成好了m2eclipse模块的其他版本的eclipse。

  安装了m2eclipse模块的eclipse中也会自动内嵌一个maven环境,但由于其版本较新,通常不太稳定,因此通常重新配置eclipse,使其指向我们上一步安装在本地的maven环境。点击eclipse菜单栏中的“Windows”——“Preferences”,点击弹窗中左侧栏中的“Maven”——“Installation”,默认情况下是Embedded Maven被选中。点击add按键,选择我们上一步安装的maven根目录M2_HOME,添加后,选中这一个外部的maven应用后退出。

四、创建Maven项目

  打开eclipse,在项目explorer中右键“New”——“Project”——“Maven”——“Maven Project”,点击Next,选择项目存放目录,再点击Next,在下拉框中选中Artifact Id为“maven-archetype-webapp”,点击Next,在Group Id中输入包名,如:com.vike,在Artifact Id中输入项目名,如:helloworld。最后点击finish。

  在创建的maven项目helloworld的目录结构中,可以看到一个pom.xml的文件(POM:Project Object Model),它是maven项目的核心,项目中需要管理的jar包配置就是写在该文件中。打开pom.xml,可以看到项目的一些基本信息,如刚才输入的包名前缀,项目名等。若需要添加jar包依赖,可以在<project>标签内添加<dependencies>标签,然后在该标签下添加各个jar的<dependency>标签。<dependency>标签的格式如下: 

<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.26</version>
</dependency>
<dependencies>

  这段配置中最重要的是groupId、artifactId、version三行,这三个元素定义了一个项目的基本坐标,在maven的世界里,任何的jar、war、pom都是基于这些信息进行区分的。项目中需要任何jar包的上述三个元素的信息,可以到http://mvnrepository.com/网站中进行搜索。

  有时项目中会同时使用很多个某一类的jar包,他们的版本号version相同,为了便于版本的管理,会在<project>标签中添加<properties>标签,定义常量,如<spring-version>1.2.3</spring-version>,这样后续的同版本号的jar包的<dependency>中<version>标签中的值就可以写成${spring-version}。

补充:

  由于maven项目下载以来的jar包,默认是从国外的maven仓库下载,由于一些原因,通常下载速度会很慢,为了提高速度,可以配置镜像,使用使用国内的阿里云提供的maven仓库来下载。

  找到maven安装路径M2_HOME/conf/settings.xml,在其中的mirrors标签中,添加如下代码:

<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

  从maven仓库下载的jar包会被放置到:C:\Users\你的用户名\.m2\repository中。

maven学习推荐书籍:《Maven in action》

  

  

  

  

项目构建工具maven的使用方法的更多相关文章

  1. Java项目工程化之项目构建工具Maven

    欢迎查看Java开发之上帝之眼系列教程,如果您正在为Java后端庞大的体系所困扰,如果您正在为各种繁出不穷的技术和各种框架所迷茫,那么本系列文章将带您窥探Java庞大的体系.本系列教程希望您能站在上帝 ...

  2. 走进JavaWeb技术世界12:从手动编译打包到项目构建工具Maven

    小李的Build之路(上) 转自: 刘欣 码农翻身 2016-07-10 摘要:手工Build的烦恼要不是为了和女朋友留在一个城市,小李肯定去北上广奋斗去了.现在他只能留在这个2.5线城市,进入这家软 ...

  3. java项目构建工具Maven

    一.java-maven常用命令 mvn archetype:create 创建Maven项目 mvn compile 编译源代码 mvn deploy 发布项目 mvn test-compile 编 ...

  4. 项目构建工具Maven

  5. 取代 Maven?这款项目构建工具性能提升 300%

    在 GitHub 上闲逛的时候,发现了一个新的项目:maven-mvnd,持续霸占 GitHub trending 榜单好几天了. maven-mvnd,可以读作 Maven Daemon,译作 Ma ...

  6. 项目管理构建工具——Maven(高阶篇)

    项目管理构建工具--Maven(高阶篇) 我们在之前的文章中已经基本了解了Maven,但也仅仅只止步于了解 Maven作为我们项目管理构建的常用工具,具备许多功能,在这篇文章中我们来仔细介绍 分模块开 ...

  7. 前端项目构建工具---Grunt

    什么是Grunt? grunt是javascript项目构建工具,在grunt流行之前,前端项目的构建打包大多数使用ant.(ant具体使用 可以google),但ant对于前端而言,存在不友好,执行 ...

  8. 项目管理及自动构建工具Maven

    项目管理及自动构建工具Maven 一.Maven安装.目录结构.cmd命令1.下载安装apache-maven-3.2.3-bin.zip下载:http://maven.apache.org/down ...

  9. 着重基础之—构建工具—Maven的依赖管理

    着重基础之—构建工具—Maven的依赖管理 项目构建利器Maven给我们开发人员带来了极大的便利,从繁琐的jar包管理中脱身的程序员终于可以有时间再进入另一个坑了. 我今天要给大家分享的内容是我在实际 ...

随机推荐

  1. python2.7 跨文件全局变量的方法-乾颐堂

    在使用Python编写的应用的过程中,有时会遇到多个文件之间传递同一个全局变量的情况. 文件1:globalvar.py 1 2 3 4 5 6 7 8 9 10 11 12 #!/usr/bin/e ...

  2. gitlab centos 安装配置运维笔记

    写在前面 如果你需要一个git服务器,为企业或自己的团队托管代码而又不希望将代码仓库存储到第三方.你可以在自己的服务器上搭建一个gitlab. 本文为我在最初安装配置gitlab服务器的时候留存的笔记 ...

  3. 开发工具Visual Studio使用相关知识和经验的碎片化记录

    开发工具Visual Studio使用相关知识和经验的碎片化记录 1.Visual Studio提示"无法启动IIS Express Web服务器"的解决方法 有时,在使用Visu ...

  4. 设计模式7---Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)

    class文件简介及加载 Java编译器编译好Java文件之后,产生.class 文件在磁盘中.这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码.JVM虚拟机读取字节码文件,取出 ...

  5. Java 理论与实践: 修复 Java 内存模型,第 2 部分(转载)

    在 JSR 133 中 JMM 会有什么改变? 活跃了将近三年的 JSR 133,近期发布了关于如何修复 Java 内存模型(Java Memory Model, JMM)的公开建议.在本系列文章的 ...

  6. 洛谷P4172 [WC2006]水管局长(lct求动态最小生成树)

    SC省MY市有着庞大的地下水管网络,嘟嘟是MY市的水管局长(就是管水管的啦),嘟嘟作为水管局长的工作就是:每天供水公司可能要将一定量的水从x处送往y处,嘟嘟需要为供水公司找到一条从A至B的水管的路径, ...

  7. alpha七天冲刺计划-第一天

    alpha七天冲刺计划-第一天 一.团队会议: 内容:具体分配任务到个人,预估项目时间,确定UI样式. 合照: 二.团队成员任务认领: 李尤:界面UI设计. 彭迪彬:HTML+CSS部分实现. 任路乾 ...

  8. 21天学通C++学习笔记(八):指针和引用

    1. 简述 C++最大的优点之一是,既可以用它来编写不依赖于机器(主要是内存)的高级应用程序,又可以用它来编写与硬件紧密协作的应用程序. 事实上C++让您能够在字节和比特级调整应用程序的性能,而要编写 ...

  9. Visual Studio 2008 SP1键盘F10单步调试超慢解决方法

    症状: 中断程序调试时,F10或者其它键盘操作都超级慢. 鼠标点击工具栏的按钮速度正常. 解决方法: 网上说的什么删掉所有断点啦,关掉几个窗口啦,重置用户设置啦,关掉某某调试选项啦,关掉防火墙啦,都是 ...

  10. “全栈2019”Java第三十五章:面向对象

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...