maven2起步(转载)

来源:互联网 发布:北京pk10计划软件 编辑:程序博客网 时间:2024/04/28 03:03

 与maven1 相比,maven2可算是几乎重写了,不过从速度来说应该更快。 
主要的几个新特性包括:(详细参考http://www.ibm.com/developerworks/cn/opensource/os-maven2/index.html) 
1. 更快、更简单 
速度方面可以比上ant了 
2. 更少的配置文件 
现在的配置文件只剩下了settings.xml和pom.xml了。 
3. Plugin语言更换 
语言开始支持java,BeanShell和ant 
4. 提供了预定义的模版 
这点是最有帮助的,用户可以自己定义自己的项目模版了,就像用appfuse一样生成项目结构 
5. 生命周期的引入 
在Maven2中有了明确的生命周期概念,而且都提供与之对应的命令,使得项目构建更加清晰明了。 
6. 新增Dependency Scope 
这点也比较重要,有些用于test范围的包,可以不用加入依赖了 
7. 传递依赖,简化依赖管理 
这是最为方便的,可以省了很多配置。如a 依赖 b,b 依赖c 默认 a也会依赖 c。但是也会带来隐患,如版本冲突。不过maven 也已经考虑到了,可以使用exclusions来排除相应的重复依赖

介绍了那么多,现在切入正题,开始maven2 之旅: 
首些下载需要的工具: 
maven2: http://maven.apache.org/download.html 最主要的 
maven-proxy:用来代理repository,使用本地库代替maven2的远程库 
http://maven-proxy.codehaus.org/ 
continuum:一个不错的持续整合工具,用于自动build。支持ant,maven 
http://maven.apache.org/continuum/ 
svn:版本控制工具相信都已经配置了。 
maven 用于eclipse的插件 ,在maven主站有下载,不错的插件。当然idea也有相应的插件 
最后,http,服务器是必不可少的。用于内部开发使用。 
可以使用apache ,或者jetty http://www.mortbay.org/

安装: 
安装maven2很简单,把下载来的maven包解开就行了。(目前我的配置都在win2003上,还没有应用于linux,所有所有的配置都针对 windows).增加相应的环境变量m2_home=maven2的安装目录,不要忘了设置java_home的目录。另外在path中增加% m2_home%/bin;可以直接在命令行下面使用mvn。 
其他工具的安装在后续的文章会介绍。

开始第一个mvean2项目: 
mvn archetype:create -DgroupId=com.mycompany.app / 
-DartifactId=my-app 
简单介绍一下 groupId相当于你的组织,如同org.springframework,会转化为相应得本地路径 artifactId,你主要的jar包名称,也就是你要打成的jar 名称。 
编译应用资源 
mvn complile 
编译相应的jave 文件 
编译测试类以及运行测试类 
mvn test 
运行测试类 
如果只想编译test,执行 
mvn test-compile 
打包和安装你的本地库 
打包: 
mvn package 
安装: 
mvn install 
创建web site 
mvn site 
清除所有输出 
mvn clean 
创建相关的ide文件 
mvn idea:idea 或者 mvn eclipse:eclipse

顺便说一下,maven2 是有生命周期这一概念的,也就是说如果你执行package,相应的以前步骤,如compile,test等都会自动执行。 
刚开始执行会比较慢,需要从maven2远程库中下载所有的文件到本地。如果你的本地没有相应的依赖包,则每次maven都会去远程下载,所以配置一个镜像库就比较重要了。 
另外介绍一下主要的参考资料: 
mavn2 主站:主要的pom和settings.xml参考资料 
Better Builds with Maven http://www.mergere.com/m2book_download.jsp 
不错的书,主要通过例子介绍。可惜都是E文的,花点时间还是值得的。

原创粉丝点击