Maven 教程
Maven 教程
序:几次对Maven 的学习,都因为各种原因 而中途切断了,再一次学习的时候,又不得不重新开始,结果发现 又不记得步骤 又找不到对应的文档。别人写的再好,终究比不过自己亲手实践的得出的结果更值得相信!
在 windows 环境上的 安装与实例实践 操作步骤 和 结果记录如下:
一、Maven 安装
1、Maven 的下载
下载地址 http://maven.apache.org/download.cgi
选择对应的版本下载,这里 我使用 apache-maven-3.3.3-bin.zip,将其解压放到对应安装路径下即可
配置 对应的环境变量: MAVEN_HOME = 安装路径
Path 中新增 %MAVEN_HOME%/bin
2、安装对应的JDK
Maven 3.3 需要 jdk 1.7 及以上版本。
配置 对应的环境变量: JAVA_HOME = 安装路径
Path 中新增 %JAVA_HOME %/bin
3、修改配置文件
%MAVEN_HOME%/conf/setting.xml 配置文件中 localRepository 存放了 maven 所依赖的 jar,默认 路径是 ${user.home}/.m2/repository ,即用户家目录下,建议修改到其他位置,如下面,我的配置:

二、Maven 运行项目
1、检测mvn 是否安装成功: mvn -v

如果你看到类似上面的输出的话,就说明安装成功了。
2、建立一个hello 项目
切换到你希望项目建立的目录: cd F:\softwareInstallLocation\eclipse_workspace
新建项目:mvn archetype:generate -DgroupId=co
m.mycompany.helloworld -DartifactId=helloworld -Dpackage=com.mycompany.helloworl
d -Dversion=1.0-SNAPSHOT
说明:第一次 运行 Maven 可能比较耗时间,因为需要 下载 maven 需要的相关 jar 包,第二次运行的时候 就不会需要下载了的。在命令执行的过程中,可能有几处需要输入,直接按回车就好,这样就完成项目的建立。(详情见apache Maven 入门篇(上) )
archetype:generate 目标会列出一系列的 archetype 让你选择。 Archetype 可以理解成项目的模型。 Maven 为我们提供了很多种的项目模型,包括从简单的 Swing 到复杂的 Web 应用。我们选择默认的 maven-archetype-quickstart
3、在项目路径下,我们可以看到多了一个工程
maven 的 archetype 插件建立了一个 helloworld 目录,这个名字来自 artifactId 。在这个目录下面,有一个 Project Object Model(POM) 文件 pom.xml 。这个文件用于描述项目,配置插件和管理依赖关系。
源代码和资源文件放在 src/main 下面,而测试代码和资源放在 src/test 下面。
Maven 已经为我们建立了一个 App.java 文件:
4、构建 和运行程序
命令如下:
进入当期项目: cd helloworld
构建项目: mvn package
运行 : java -cp target/helloworld-1.0-SNAPSHOT.jar com.mycompany.helloworld.App
编辑并测试: mvn test
说明:
maven 在 helloworld 下面建立了一个新的目录 target/ ,构建打包后的 jar 文件 helloworld-1.0-SNAPSHOT.jar 就存放在这个目录下。编译后的 class 文件放在 target/classes/ 目录下面,测试 class 文件放在 target/test-classes/ 目录下面。
三、Maven 常用命令
创建一个简单的Java工程:mvn archetype:create -DgroupId=com.mycompany.example -DartifactId=Example
创 建一个java的web工程:mvn archetype:create -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.mycompany.app -DartifactId=my-webapp
打包:mvn package
编译:mvn compile
编译测试程序:mvn test-compile
清空:mvn clean
运行测试:mvn test
生成站点目录: mvn site
生成站点目录并发布:mvn site-deploy
安装当前工程的输出文件到本地仓库: mvn install
安 装指定文件到本地仓库:mvn install:install-file -DgroupId=<groupId> -DartifactId=<artifactId> -Dversion=1.0.0 -Dpackaging=jar -Dfile=<myfile.jar>
查看实际pom信息: mvn help:effective-pom
分析项目的依赖信息:mvn dependency:analyze 或 mvn dependency:tree
跳过测试运行maven任务: mvn -Dmaven.test.skip=true XXX
生成eclipse项目文件: mvn eclipse:eclipse
查看帮助信息:mvn help:help 或 mvn help:help -Ddetail=true
查看插件的帮助信息:mvn <plug-in>:help,比如:mvn dependency:help 或 mvn ant:help 等等。
四、Maven的基本功能
构建:比如生成class、jar、war或者ear文件
生成文档:比如生成javadoc、网站文档
生成报告:比如junit测试报告
生成依赖类库:生成文档,说明项目多其他软件的依赖
有关SCM:SCM(Software Configuration Management),软件配置管理,比如版本控制,比如bug管理等等
发布:生成供发布的分发包,比如生成Struts2的分发包,供提交给用户使用
部署:比如,web应用程序,自动部署到指定的服务器上
五、pom.xml文件中的标签元素说明:
·project 这是所有pom.xml的顶层
·modelVersion 这个元素指出POM现在使用的对象模型版本,除非开发者强制性的为了
确保稳定性而进行的必要改变、一般都是不发生变化的。
·groupId 这个就是指出被被创建项目的唯一标识、通常使用域名。
·artifactId 这个元素指出了生成项目时的唯一主要的的名字、通常这个名字被作为
Jar的名字。
·packaging 打包类型 (e.g. JAR, WAR, EAR, etc.). 这个不仅仅意味着打包的产品类型
也指出了一个建造过程中的详细生命周期。
·version 这个元素指出在项目被生成的时候的版本,通常你所看到的
SNAPSHOT指的是开发进行的状态
·name 这个元素指出项目相识的名字、通常被用在Maven生成的文档中
·url 这个元素指出在哪里可以找到这个项目的站点、通常也被用到Maven的
文档中。
·description 这个元素为你的项目提供一个基本的描述,通常被用在Maven生成的文
档中
六、资料参考
3、见官方网站;
The 5 minute test,官方简易入门文档;
Getting Started Tutorial,官方入门文档;
Build Cookbook,官方的cookbook;
POM Reference,POM文件的设置参考
Settings Reference ,settings文件的设置参考
[原创]Mybatis + SpringMVC + Maven实现分页查询
Maven 教程的更多相关文章
- Maven教程
找了一个很详细的maven教程 收藏下 学习网址:http://www.yiibai.com/maven/
- maven教程全攻略
maven教程全攻略 我们在开发项目的过程中,会使用一些开源框架.第三方的工具等等,这些都是以jar包的方式被项目所引用,并且有些jar包还会依赖其他的jar包,我们同样需要添加到项目中,所有这些相关 ...
- Maven教程4(私服-nexus)
仓库管理器也叫私服或代理仓库 仓库管理器有两个服务目的:首先它的角色是一个高度可配置的介于你的组织与公开Maven仓库之间的代理,其次它为你的组织提供了一个可部署你组织内部生成的构件的地方. 1Nex ...
- Maven教程2(Eclipse配置及maven项目)
Maven教程1(介绍安装和配置) Eclipse中配置maven 1.Eclipse中默认集成的有Maven 可以使用默认的,本地仓库在当前用户下的.m2文件夹下. 2.配置我们自己安装的maven ...
- Maven教程3(依赖管理)
Maven教程2(Eclipse配置及maven项目) Maven项目,依赖,构建配置,以及构件:所有这些都是要建模和表述的对象.这些对 象通过一个名为项目对象模型(Project Object Mo ...
- myeclipse使用maven教程
本教程包括 1.使用myeclipse构建maven下载jar包 2.使用myeclipse运行maven命令 3.使用myeclipse管理maven项目 搭建maven教程以后有时间了贴进来. 1 ...
- Java-Maven-Runoob:Maven教程
ylbtech-Java-Maven-Runoob:Maven教程 1.返回顶部 1. Maven 教程 Maven 翻译为"专家"."内行",是 Apache ...
- Maven教程:tutorialspoint-maven
来自turorialspoint的Maven教程(英文),官网:http://www.tutorialspoint.com/maven/index.htm 这个教程在国内已经被翻译成中文,官网:htt ...
- Maven教程(转载)
转载自:http://www.yiibai.com/maven/ Apache Maven是一个软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报 ...
随机推荐
- UVALive 6663 Count the Regions --离散化+DFS染色
题意:给你n(n<=50)个矩形(左上角坐标和右下角坐标),问这些矩形总共将平面分成多少个部分.坐标值可能有1e9. 分析:看到n和坐标的范围,容易想到离散化,当时就没想到离散化以后怎么判断区域 ...
- HDU 1171 Big Event in HDU --暴力+生成函数
题意:给n种房子,每种房子有一个值val和个数cnt,现在要把这些房子分成两部分,争取两部分总值相等,如果不能相等,让A>B,且A-B最小. 解法:先跑一次生成函数,c[n]表示组成总值为n的方 ...
- 【转】Python中string的strip,lstrip,rstrip用法
Python中的strip用于去除字符串的首尾字符串,同理,lstrip用于去除左边的字符,rstrip用于去除右边的字符. 这三个函数都可传入一个参数,指定要去除的首尾字符. 需要注意的是,传入的是 ...
- S2--《深入.NET平台和C#编程》
第一章 深入.NET框架 1.1 Microsoft .NET框架概述 .NET框架的优势 * 提供了一个面向对象的编程环境,完全支持面向对象编程,.NET 框架提高了软件的可复用性,可扩展 ...
- struts2中简单的文件上传
2016-08-31 一. 文件上传 利用commons-fileupload-1.2.1.jar实现简单的上传文件,首先在页面上填写表单,记得加上enctype="multip ...
- 基于EventAggregator的事件发布及订阅
EventAggregator简介 EventAggregator是Prism中专门处理ViewModel与ViewModel之间事件传递的类对象,它提供了针对事件的发布方法和订阅方法,所以可以非常方 ...
- CSS 实现加载动画之六-大风车
这个动画改编自光盘旋转,前几个步骤一样,最后一步不同.光盘旋转的最后一步是外层容器加个圆形的白色边框,多余部分隐藏,这个案例则是在每个旋转的子元素的顶部或底部增加一个三角形的元素,构成风车旋转的角. ...
- CSS 实现加载动画之二-圆环旋转
上次简单的介绍了下如何用代码实现菊花旋转的加载动画,动画点击,这次继续我们的动画系列,实现另外一种加载动画,圆环旋转.与上次不同的是,菊花旋转是通过改变元素透明度来实现动画,这次因为考虑到元素叠加,加 ...
- AVPlayer的使用本地视频
1引入AVFoundation.framework框架 2引入头文件<AVFoundation/AVFoundation.h>,并拖入需要播放的视频文件 代码如下: 自定义播放的View, ...
- 记录我学github的路程(二)
2015-12-09 更新 1,现在,本地有了一个库,你可能会想到GitHub创建一个库,并且关联起来.这样,远程的库既可以当作备份,又可以让其他人通过该仓库来协作. 2,步骤: (1)登录GitHu ...