心内求法

制心一境,住心观性,澄心外照,摄心内证

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  37 随笔 :: 0 文章 :: 120 评论 :: 0 Trackbacks

现在maven似乎很火,但网上的中文资料大部分都是maven1的,对maven2的入门介绍比较少。

本文演示maven2的安装,配置和初步体验,不涉及深入的原理。

本文内容主要参考

http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

1.安装

下载Maven.目前的版本是2.0.4

http://www.apache.org/dyn/closer.cgi/maven/binaries/maven-2.0.4-bin.zip

解压缩后,设置环境变量M2_HOME到maven目录;在环境变量path中增加maven的bin目录。

在命令行输入

Mvn -version

显示

Maven version: 2.0.4

则安装成功。

2. 网络设置

maven运行时需要网络环境。如果你的网络需要代理,则要在maven目录的conf/settings.xml中设置。

找到<proxies>节点,按照例子,根据自己实际环境设置。

3.体验maven

在命令行中,进入你常用的项目文件夹,输入

mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app

如果网络配置正确,maven就会下载需要的文件,执行任务,最终显示“BUILD SUCCESSFUL”,并生成my-app目录。

让我们看一下mvn对项目目录的组织:

My-app

├─pom.xml

└─src

├─main

│ └─java

│ └─com

│ └─mycompany

│ └─app

│ └─App.java

└─test

└─java

└─com

└─mycompany

└─app

└─AppTest.java

可以看出,代码和测试代码分别放在main及test文件夹下。

Pom.xml描述项目对象模型(Project Object Model)。其模式文件为http://maven.apache.org/xsd/maven-4.0.0.xsd

详细的POM说明请参考相关资料。

4.maven命令

在命令行下输入mvn -h , 显示mvn帮助,其中usage: mvn [options] [<goal(s)>] [<phase(s)>]表明了mvn命令的构成。

Options:可选的参数。比如前面提到的-version , -h等。

Goal(s): 表示maven构建的“目标”。比如前面的

mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app

其中archetype:create表示archetype插件下的create目标。这里,插件是为了某种目的构建的目标的集合,maven通过插件扩展其功能。

还可以为目标传递一些参数,比如上面的“-DgroupId=com.mycompany.app -DartifactId=my-app”。

Phase(s):阶段。表示maven构建生命周期 中的一个步骤。使用相位命令时,maven会执行生命周期中该阶段之前的所有命令,使项目处于指定的“状态”。

比如在刚才创建的项目路径下输入mvn compile,会创建target文件夹,并编译class,使项目处于“已编译”状态。

  • maven定义的生命周期中主要的相位如下:
  • validate: 验证项目是否正确以及相关信息是否可用。
  • compile: 编译。
  • test: 通过junit进行单元测试。
  • package: 根据事先指定的格式(比如jar),进行打包。
  • integration-test: 部署到运行环境中,准备进行集成测试。
  • verify: 对包进行有效性性和质量检查。
  • install: 安装到本地代码库。
  • deploy: 在集成或发布环境,将包发布到远程代码库。

在“默认”的生命周期之外,还有两个“阶段”:

  • clean: 清除以前的构建物。
  • site: 生成项目文档。

阶段实际上是通过目标的组合实现的。

5.组合命令

可以通过对目标及相位的组合使得一个命令完成多个功能,比如:

mvn clean dependency:copy-dependencies package

相当于按顺序执行

mvn clean

mvn dependency:copy-dependencies

mvn package

到这里,对maven应该有一个初步的印象并能上手使用了吧?更多的内容可以查阅相关的文档。



本人的最新博客迁移到http://thinkinside.tk,使用GitHub Pages建立。
我会陆续将所写的文章迁移过去,并进行补充和修正,
欢迎过来围观。
posted on 2006-12-02 11:53 心内求法 阅读(24748) 评论(13)  编辑  收藏 所属分类: 4.摄心内证

评论

# re: Maven2快速入门教程 2006-12-02 16:17 weidagang2046
比较关心Maven能不能方便地与eclipse集成?  回复  更多评论
  

# re: Maven2快速入门教程 2006-12-02 18:18 duguo
@weidagang2046

有两种整合方式,一种是通过mvn eclipse:eclipse生成eclipse的配置文件,另外一种是ide的插件,http://m2eclipse.codehaus.org/,几个月前用这个插件,不是太好用,不知道现在怎么样了  回复  更多评论
  

# re: Maven2快速入门教程 2006-12-02 21:30 心内求法
maven官方网站推荐的eclipse插件为m2eclipse,但是目前的版本是0.0.9,功能还比较弱,只能生成pom.xml,增加引用。真正实用的版本看来还要等一段时间了。  回复  更多评论
  

# re: Maven2快速入门教程 2006-12-03 01:38 商业计划书
很少见讨论maven的,顶一个  回复  更多评论
  

# re: Maven2快速入门教程[未登录] 2007-06-29 11:47 evan
对入门的人理清概念很有帮助,谢谢  回复  更多评论
  

# re: Maven2快速入门教程 2007-10-24 11:03 信鸽
学习了。  回复  更多评论
  

# re: Maven2快速入门教程 2007-10-24 20:13 信鸽
不错.  回复  更多评论
  

# re: Maven2快速入门教程[未登录] 2008-01-14 14:01 aaa
垃圾 不够详细  回复  更多评论
  

# re: Maven2快速入门教程 2008-02-29 21:14 linhi
我们组现在正在用maven的eclipse插件来作项目管理。感觉还是不错的,只是我还不懂怎么弄,也在学习中。。。  回复  更多评论
  

# re: Maven2快速入门教程 2008-04-08 15:17 zb
正要用Maven2。虽然没看懂,还是顶一个。  回复  更多评论
  

# re: Maven2快速入门教程 2008-05-05 10:33 ...
公司要用这个东西..目前我还没摸清方向!!!!!!!!!  回复  更多评论
  

# re: Maven2快速入门教程 2009-11-18 10:34 水zhoale
KJ看的我睡着了阿  回复  更多评论
  

# re: Maven2快速入门教程 2010-12-24 11:30 cmmjava
@weidagang2046

maven 能与eclipse结合使用
http://www.360doc.com/content/10/0901/11/87000_50342123.shtml#  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航:
 
我常用的博客搜索