Maven初学笔记快速入门
来源:互联网 发布:java中的md5怎么解密 编辑:程序博客网 时间:2024/05/16 06:54
2014.4.3
Maven是一个据说比ant好用的项目管理工具(尽管我也还没学ant...),maven单词的意思是内行、专家,有必要学习一下了。
与以往各种找中文资料学习新知识的方式不同,这次我要去官网看第一手教程了,我先选择了Getting Started in 5 Minutes,快速入门。
环境需求:需要jdk1.6以上
目前Maven的最新版本是3.2.1,下载好解压后有一个apache-mven-3.2.1的文件夹,设置环境变量,window下用Winkey+Pause键选择高级系统设置,key是M2_HOME,value是路径(路径最后不要带'\'),然后在添加一个M2,值是%M2_HOME%\bin。
打开cmd(WinKey+r,,输入cmd回车),输入mvn --version,若有如下类似信息则表示配置成功
(Windows防火墙或一些杀毒软件可能会影响Maven正常工作)
创建一个用于放置Maven project的文件夹,并在cmd中cd 到该目录,输入
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
,第一次安装Maven是会花费若干时间,期间它在下载一些文件。下载完之后,文件夹下多了一个my-app文件夹,文件夹名是刚才的命令中的artifaceId决定的(artifact的有道翻译是人工制品,手工制品)。
my-app中是如下的文件结构
src/main/java文件夹存放project的源代码,src/test/java文件夹下存放测试代码,app文件夹中存放的是一个输出Hello World!的App.java文件,pom.xml文件是project's Project Object Model(POM)直译是项目对象模型。pom.xml文件是项目的核心配置文件。POM可以非常大足以可以把用户吓跑,但是我们在很刚开始学习时还不必掌握所有的那些纷繁难懂之处。
pom.xml长成这个样子
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>my-app</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies></project>现在分析一下刚才mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false这个命令中做了什么,我们执行了生成 Maven目标原型操作(Maven goal archetype:generate),并且加了一系列的参数。以archetype为前缀的是包含目的的插件(额,勉强翻译)。这个目的创建了一个简单的基于一种archetype(原型)的项目。可以说一个插件是可以完成一种目的的集合(Suffice it to say for now that a plugin is a collection of goals with a general common purpose)。比如jboss-maven-plugin,目的就是处理各种jboss 条目项目("deal with various jboss items")。
下面来建立一个项目cd到my-app中输入
mvn package
运行以后控制台输出一坨东西,
表示Build成功
这条命令比第一条简单很多只有一个 -package,这个命令不是一个goal,而是一个阶段(phase)。phase是建造生命周期的一步,也就是说建造生命周期是一些phase的有序序列,建造生命周期包括validate、compile、test、package、integration-test、verify、install、deploy。当我们提供了phase,Maven就会执行序列中的phase.例如,如果我们执行编译阶段(compile phase),实际上我们得到的执行是1.validate(验证) 2. generate-sources(生成源文件) 3. process-sources (处理源文件)4 . genereate-resources (生成资源)5. process-resources (处理资源) 6. compile(编译)
现在我们可以测试一下刚刚编译并打包好的jar
java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App输出了令人欢喜的
我们可以在my-app文件夹下看到Maven帮我们生成的一个target文件夹,
class 文件夹里面是原项目生成的class文件,
maven-archiver 里面有一个pom.properties,是Maven的描述文档
surefire-reports里有一些报告
test-classes 是测试的class文件
my-app-1.0-SNAPSHOT.jar是打包好的jar
0 0
- Maven初学笔记快速入门
- Spring初学快速入门
- 初学maven 笔记一
- maven的初学笔记
- maven快速入门
- maven快速入门
- maven快速入门
- 1.Maven快速入门
- Maven快速入门
- Maven快速入门
- Maven 快速入门
- Maven快速入门(一)
- Maven快速入门(二)
- maven快速入门
- maven快速入门
- Maven快速入门
- Maven快速入门
- SpringMVC+Maven快速入门
- datatable使用笔记
- Asp.Net MVC4.0 官方教程 入门指南之四--添加一个模型
- Android上实现视频录制
- cocos2d 关于Eclipse 提示 :please define NDK_ROOT的问题(解决Eclipse不会自动编译CPP的问题)
- 简单jQplot创建引擎(支持线图/饼图/柱状图)
- Maven初学笔记快速入门
- 虚拟机上新添加磁盘进行挂载
- Asp.Net MVC4.0 官方教程 入门指南之五--控制器访问模型数据
- coder计算器
- linux简单脚本2
- C++中sort函数用法
- 算出number(一行保存一个数字)文件中和最大的连续行数,打印开始结束行号,打印最大的和
- java笔记之异常
- Asp.Net MVC4.0 官方教程 入门指南之六--查看Edit方法和Edit视图