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可以从一个中心资料片管理项目构建,报 ...
随机推荐
- windows下如何安装jira
---恢复内容开始--- 准备工作: 1.安装jdk,详细不在介绍 2.建立jira帐号:https://id.atlassian.com/login?application=mac&cont ...
- 转载:HttpClient使用详解
原文地址:http://blog.csdn.net/wangpeng047/article/details/19624529 Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自 ...
- Linux (二) vi
1 步骤 1) vi test.txt 进入一般模式 2) i 进入编辑模式,输入内容 3) Esc 回到一般模式 4) :wq 存储后退出 2 编辑模式 [i] 光标处插入, ...
- Java学习----Java概述
一.常用DOS命令 d: 盘符切换 dir(directory) 列出当前目录下的文件以及文件夹 md (make directory) 创建目录 rd (remove director ...
- Unity-WIKI 之 SplashScreen
组件功能 在屏幕上的一个启动画面消失,等待几秒钟(或等待用户输入),然后淡出,下一个场景加载. 组件源码 using UnityEngine; using System.Collections; // ...
- Unity3d 内置图形界面系统(Editor GUI)
一.说在前面的 1.unity内置的ui系统,无论是在性能的表现上.功能的强大性上.制作复杂ui的便捷性上,还是其它的一些方面都不如一些第三方的插件来的好,如:NGUI和DF-GUI(PS: 后者比前 ...
- cookie 、session、JSESSIONID
cookie .session ? 让我们用几个例子来描述一下cookie和session机制之间的区别与联系.笔者曾经常去的一家咖啡店有喝5杯咖啡免费赠一杯咖啡的优惠,然而一次性消费5杯咖啡的机会微 ...
- java 15 - 9 集合框架之 栈、队列、数组 和 链表
- 加密算法使用(一):用CRC32来压缩32uuid字符串
CRC32相比MD5重复率较高, 不过我们仍然可以使用CRC32然后转长整形的方式将32位的UUID字符串压缩成更短的整形唯一标识. /** * * @Title: getCRC32Value * @ ...
- 对兼容ie浏览器所遇到的问题及总结
1,若直接给一个元素设置absolute定位.在浏览器缩放的时候.位置会错位.解决的方法是给外层的元素设置为relative定位. 2,低版本ie浏览器不支持placeholder属性 3,盒模型上规 ...