Maven入门指南 :Maven 快速入门及简单使用
前言
Maven是一个Java语言编写的开源项目管理工具,是Apache软件基金会的顶级项目。主要用于项目构建,依赖管理,项目信息管理。
maven项目在编译、测试、打包里,会需要从maven的中央仓库(即:maven组织公布在互联网上的一个站点,里面已经收录了目前绝大多数主流的jar包)下载jar包等文件, 如果使用代理服务器上网,需要配置代理服务器。
理解“仓库”
首次运行完mvn -version后,会在用户目录下创建一个.m2的目录(比如:C:\Users\当前用户名\.m2\),这个目录是maven的“本地仓库”,仓库是maven中一个很重要的概念。
试想一下,我们会在工作中同时创建很多项目,每个项目可能都会引用一些公用的jar包(.NET中是dll文件),一种作法是每个项目里,都复制一份这些依赖的jar包(或dll文件),这样显然不好,相同的文件在硬盘上保存了多份,太占用空间,而且这些依赖的jar包(或dll文件)的版本也不太好管理(比如某个公用的jar包,从1.0升级到2.0,如果所有引用这个jar包的项目都需要更新,必须一个个项目的修改)。
maven的仓库则很好的解决了这些问题,它在每台机器上创建一个本机仓库,把本机上所有maven项目依赖的jar包统一管理起来,而且这些jar包用“坐标”来唯一标识(注:坐标是另一个重要的概念,后面还会讲到,这里只要简单理解成“唯一识别某个jar包文件名、版本号”的标识即可),这样所有maven项目就不需要再象以前那样把jar包复制到lib目录中,整个maven项目看起来十分清爽。
如何将maven项目导入myeclipse中
1、打开myeclipse工具,点击File,选择Import
2、选择导入类型是已经存在的maven项目,然后next。
3、点击Browse选择下载好的maven项目源码,点击finish
4、然后会卡顿一段时间,因为maven项目不需要手动导入jar文件,maven项目会自动下载所需要的jar,所以多等待一段时间就行了。
Maven项目的文件/目录结构相关约定
src/main/java - 存放项目.java文件;
src/main/resources - 存放项目资源文件;
src/test/java - 存放测试类.java文件;
src/test/resources - 存放测试资源文件;
target - 项目输出目录;
pom.xml - Maven核心文件(Project Object Model);
使用MyEclipse创建Maven项目
MyEclipse提供了Maven4MyEclipse插件,已经内置安装了Maven;但我们通常使用自己下载配置的Maven,在Installations选项中添加我们刚才下载配置的Maven。Eclipse可自行安装m2eclipse插件。
1.新建一个 Maven Project:
2.选择 workbench Location:
3.选择 Maven Archetype(项目骨架),这里我们选择 maven-archetype-webapp:
4.设置 Maven 相关参数,Group Id,Artifact Id,Version,Package。它们共同组成 Maven 的坐标:
后续相关配置
1.项目创建成功之后,我们看到 MyEclipse 默认只为我们创建了 src/main/resources,打开项目属性 - Java Build Path - Source 一栏,可看到 src/main/java和src/test/java 显示 missing:
打开 Libraries,编辑 JRE 环境,选择自己安装的JDK:
这时,src/main/java和src/test/java 已经出来了,再自行添加 src/test/resources 目录:
2.接下来,设置 Project Facets。选择 Java 1.7 版本和 Dynamic Web Module 3.1 版本:
3.设置项目输出目录如下:
4.设置部署打包结构如下,删除测试相关目录:
pom.xml文件,添加相关 jar包依赖
1.打开 pom.xml文件,我们看到 Maven已经为我们添加了JUnit3.8.1 的依赖,这里我们改成 JUnit 4.11,同时添加 Servlet-api 的依赖包:
2.保存之后,自动为我们添加了相关jar包。这时最开始缺少 servlet-api 相关类的错误提示已经没有了:
构建及部署项目
1.右键 pom.xml - Run As - Maven -install:
2.来到target文件夹下,我们看到生成了项目的部署文件:
3.部署项目到Tomcat应用服务器,访问项目:
- 点赞
- 收藏
- 关注作者
评论(0)