项目构建工具maven的使用方法
最近在开发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的使用方法的更多相关文章
- Java项目工程化之项目构建工具Maven
欢迎查看Java开发之上帝之眼系列教程,如果您正在为Java后端庞大的体系所困扰,如果您正在为各种繁出不穷的技术和各种框架所迷茫,那么本系列文章将带您窥探Java庞大的体系.本系列教程希望您能站在上帝 ...
- 走进JavaWeb技术世界12:从手动编译打包到项目构建工具Maven
小李的Build之路(上) 转自: 刘欣 码农翻身 2016-07-10 摘要:手工Build的烦恼要不是为了和女朋友留在一个城市,小李肯定去北上广奋斗去了.现在他只能留在这个2.5线城市,进入这家软 ...
- java项目构建工具Maven
一.java-maven常用命令 mvn archetype:create 创建Maven项目 mvn compile 编译源代码 mvn deploy 发布项目 mvn test-compile 编 ...
- 项目构建工具Maven
- 取代 Maven?这款项目构建工具性能提升 300%
在 GitHub 上闲逛的时候,发现了一个新的项目:maven-mvnd,持续霸占 GitHub trending 榜单好几天了. maven-mvnd,可以读作 Maven Daemon,译作 Ma ...
- 项目管理构建工具——Maven(高阶篇)
项目管理构建工具--Maven(高阶篇) 我们在之前的文章中已经基本了解了Maven,但也仅仅只止步于了解 Maven作为我们项目管理构建的常用工具,具备许多功能,在这篇文章中我们来仔细介绍 分模块开 ...
- 前端项目构建工具---Grunt
什么是Grunt? grunt是javascript项目构建工具,在grunt流行之前,前端项目的构建打包大多数使用ant.(ant具体使用 可以google),但ant对于前端而言,存在不友好,执行 ...
- 项目管理及自动构建工具Maven
项目管理及自动构建工具Maven 一.Maven安装.目录结构.cmd命令1.下载安装apache-maven-3.2.3-bin.zip下载:http://maven.apache.org/down ...
- 着重基础之—构建工具—Maven的依赖管理
着重基础之—构建工具—Maven的依赖管理 项目构建利器Maven给我们开发人员带来了极大的便利,从繁琐的jar包管理中脱身的程序员终于可以有时间再进入另一个坑了. 我今天要给大家分享的内容是我在实际 ...
随机推荐
- Node.js基本使用(超基础)
Node.js是什么 Node.js是一个能够在服务器端运行JavaScript的开放源代码.跨平台JavaScript运行环境 Node采用Google开发的V8引擎运行js代码,使用事件驱动.非阻 ...
- Session分布式共享 = Session + Redis + Nginx(转)
出处:http://www.cnblogs.com/newP/p/6518918.html 一.Session 1.Session 介绍 我相信,搞Web开发的对Session一定再熟悉不过了,所以我 ...
- Maven及POM文件
Maven Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. Logback是由LOG4创始人设计的又一个开源日志组件. 相关链接: Ma ...
- 浅谈Oracle12c 数据库、用户、CDB与PDB之间的关系
名词介绍: 数据库:数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生 于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以 后,数据管理不再仅仅是存储和管理 ...
- Joomla3x-CKEditor4x-WordPaster整合示例
1.1. 集成到Joomla_3.4.7-ckeditor4x 资源下载:Joomla 3x, 1.1.1. 添加wordpaster文件夹 路径:/media/wordpaster/ 1.1 ...
- java软件托盘显示中文出现框框乱码
目录 文章背景 目录 问题的代码 解决办法 说明 参考文章 版本记录 文章背景 测试代码时候突然发现代码运行时候的托盘菜单的名字显示异常,查询了下资料发现是运行参数的缘故. 目录 问题的代码 系统是w ...
- JavaScript中两种类型的全局对象/函数【转】
Snandy Stop, thinking is the essence of progress. JavaScript中两种类型的全局对象/函数 这里所说的JavaScript指浏览器环境中的包括宿 ...
- 那些原生的javascript APIs
在前端开发的时候,我们往往会使用javascript 框架,使用框架的好处多多,提供的方便的操作函数,类继承机制,MV*等,让我们能够快速开发,然而我们应该清楚这些框架都是基于浏览器原生api的封装, ...
- Alpha冲刺(八)
Information: 队名:彳艮彳亍团队 组长博客:戳我进入 作业博客:班级博客本次作业的链接 Details: 组员1(组长)柯奇豪 过去两天完成了哪些任务 进一步优化代码,结合自己负责的部分修 ...
- 理解Javascript中的事件绑定与事件委托
最近在深入实践js中,遇到了一些问题,比如我需要为动态创建的DOM元素绑定事件,那么普通的事件绑定就不行了,于是通过上网查资料了解到事件委托,因此想总结一下js中的事件绑定与事件委托. 事件绑定 ...