Maven实战. 导读-阿里云开发者社区

开发者社区> 华章出版社> 正文

Maven实战. 导读

简介:
Maven 实战
许晓斌  著

本书由国内社区公认的Maven专家Juven Xu亲自执笔,内容的权威性毋庸置疑。
本书是国内第一本公开出版的Maven专著。它内容新颖,基于最新发布的Maven 30,不仅详尽讲解了Maven 30的所有新功能和新特性,而且还将这些新功能和新特性与Maven 2x版本进行了对比,以便于正在使用Maven 2x版本的用户能更好地理解。本书内容全面,以从专家的角度阐释Maven的价值开篇,全面介绍了Maven的安装、配置和基本使用方法,以便于初学者参考;详细讲解了坐标和依赖、Maven仓库、生命周期和插件、聚合与继承等Maven的核心概念,建议所有读者仔细阅读;系统性地阐述了使用Nexus建立私服、使用Maven进行测试、使用Hudson进行持续集成、使用Maven构建Web应用、Maven的版本管理、Maven的灵活构建、生成项目站点和Maven的m2eclipse插件等实用性较强的高级知识,读者可有选择性的阅读;扩展性地讲解了如何Maven和Archetype插件,这部分内容对需要编写插件扩展Maven或需要编写Archetype维护自己的项目骨架以更便于团队开发的读者来说尤为有帮助。它实战性强,不仅绝大部分知识点都有相应的案例,而且本书还在第4章设计了一个背景案例,后面的很多章节都是围绕这个案例展开的,可操作性极强。
本书适合所有Java程序员阅读,无论你是从未使用过Maven,亦或是已经使用Maven很长一段时间了,相信你都能从本书中获得有价值的参考。本书也适合所有项目经理阅读,它能帮助你更规范、更高效地管理Java项目。

前言 为什么写这本书
    2007年的时候,我加入了一个新成立的开发团队,我们一起做一个新的项目。经验较丰富的同事习惯性地开始编写Ant脚本,也有人希望能尝试一下Maven。当时我比较年轻,且富有激情,因此大家决定让我对Maven做些研究和实践。于是我慢慢开始学习并推广Maven,这期间有人支持,也有人抵触,而我则尽力地为大家排除困难,并做一些内部交流,渐渐地,抵触的人越来越少,我的工作也得到了大家的认可。
    为什么一开始有人会抵触这一优秀的技术呢?后来我开始反思这一经历,我认为Maven陡峭的学习曲线和匮乏的文档是当时最主要的问题。为了能改善这个问题,我开始在博客中撰写各类关于Maven的中文博客,翻译了O’Reilly出版的《Maven权威指南》一书,并建立了国内的Maven中文社区,不定期地回答各类Maven相关问题,这在一定程度上推动了Maven这一优秀的技术在国内的传播。
    后来我加入了Maven之父Jason Van Zyl创建的Sonatype,参与Nexus的开发并负责维护Maven中央仓库,这些工作使我对开源和Maven有了更深的认识,也给了我从头写一本关于Maven的书的信心。我希望它能够更贴近国内的技术人员的需求,能够出现在书店的某个角落里,给那些有心发现它的读者带来一丝欣喜。
    该书写作后期适逢Maven 3的发布,这距离我刚接触Maven时已经过去3年有余,感叹时光的流逝!Maven在2007年至2010年取得了飞速的发展,现在几乎已经成为了所有Java开源项目的标配,Struts、Hibernate、 Ehcache等知名的开源项目都使用Maven进行管理。据了解,国内也有越来越多的知名的软件公司开始使用Maven管理他们的项目,例如阿里巴巴和淘宝。
 本书面向的读者
    首先,本书适合所有Java程序员阅读。由于自动化构建、依赖管理等问题并不只存在于Java世界,因此非Java程序员也能够从该书中获益。无论你是从未接触过Maven、还是已经用了Maven很长时间,亦或者想要扩展Maven,都能从本书获得有价值的参考建议。
    其次,本书也适合项目经理阅读,它能帮助你更规范、更高效地管理Java项目。
本书的主要内容
    第1章对Maven做了简要介绍,通过一些程序员熟悉的例子介绍了Maven是什么,为什么需要Maven。建议所有读者都阅读以获得一个大局的印象。
    第2~3章是对Maven的一个入门介绍,这些内容对初学者很有帮助,如果你已经比较熟悉Maven,可以跳过。
    第4章介绍了本书使用的背景案例,后面的很多章节都会基于该案例展开,因此建议读者至少简单浏览一遍。
    第5~8章深入阐述了Maven的核心概念,包括坐标、依赖、仓库、生命周期、插件、继承和多模块聚合,等等,每个知识点都有实际的案例相佐,建议读者仔细阅读。
    第9章介绍使用Nexus建立私服,如果你要在实际工作中使用Maven,这是必不可少的。
    第10~16章介绍了一些相对高级且离散的知识点,包括测试、持续集成与Hudson、Web项目与自动化部署、自动化版本管理、智能适应环境差异的灵活构建、站点生成,以及Maven的Eclipse插件m2eclipse,等等。读者可以根据自己实际需要和兴趣选择性地阅读。
    第17~18章介绍了如何编写Archeype和Maven插件。一般的Maven用户在实际工作中往往不需要接触这些知识,如果你需要编写插件扩展Maven,或者需要编写Archetype维护自己的项目骨架以方便团队开发,那么可以仔细阅读这两章的内容。
本书代码下载
    大家可以从我的网站下载本书的代码:http://wwwjuvenxucom/mvninaction/,也可以通过我的网站与我取得联系,欢迎大家与我交流任何关于本书的问题和关于Maven的问题。
咖啡与工具
    本书相当一部分的内容是在苏州十全街边的Solo咖啡馆完成的,老板Yin亲手烘焙咖啡豆、并能做出据说是苏州最好的咖啡,这小桥流水畔的温馨小屋能够帮我消除紧张和焦虑,和Yin有一句没一句的聊天也是相当的轻松。Yin还教会了我如何自己研磨咖啡豆、手冲滴率咖啡,让我能够每天在家里也能享受香气四溢的新鲜咖啡。
    本书的书稿是使用Git和Unfuddle(http://unfuddlecom/)进行管理的,书中的大量截图是通过Jing(http://wwwtechsmithcom/jing/)制作的。
    JuvenXu2010年10月于苏州Solo咖啡致谢
    感谢费晓峰,是你最早让我学习使用Maven,并在我开始学习的过程中给予了不少帮助。
    感谢Maven开源社区特别是Maven的创立者Jason Van Zyl,是你们一起创造了如此优秀的开源工具,造福了全世界这么多的开发人员。
    感谢我的家人,一年来,我的大部分原来属于你们的业余时间都给了这本书,感谢你们的理解和支持。
    感谢二少、Garin、Sutra、JTux、红人、linux_china、Chris、Jdonee、zc0922、还有很多Maven中文社区的朋友,你们给了本书不少建议,并在我写作过程中不断鼓励我和支持我,你们是我写作最大的动力之一。
    最后感谢本书的策划编辑杨福川和曾珊,我从你们身上学到了很多,你们是最专业的、最棒的。

1Maven简介/1

1.1何为Maven/2

1.1.1何为构建/2

1.1.2Maven是优秀的构建工具/2

1.1.3Maven不仅仅是构建工具/3

1.2为什么需要Maven/4

1.2.1组装PC和品牌PC/4

1.2.2IDE不是万能的/4

1.2.3Make/5

1.2.4Ant/5

1.2.5不重复发明轮子/6

1.3Maven与极限编程/7

1.4被误解的Maven/8

1.5小结/9

2Maven的安装和配置/10

2.1Windows上安装Maven/11

2.1.1检查JDK安装/11

2.1.2下载Maven/11

2.1.3本地安装/12

2.1.4升级Maven/13

2.2在基于UNIX的系统上安装Maven/13

2.2.1下载和安装/13

2.2.2升级Maven/15

2.3安装目录分析/15

2.3.1M2_HOME/15

2.3.2~/.m2/16

2.4设置HTTP代理/17

2.5安装m2eclipse/18

2.6安装NetBeans Maven插件/22

2.7Maven安装最佳实践/24

2.7.1设置MAVEN_OPTS环境变量/24

2.7.2配置用户范围settings.xml/24

2.7.3不要使用IDE内嵌的Maven/25

2.8小结/26

3Maven使用入门/27

3.1编写POM/28

3.2编写主代码/29

3.3编写测试代码/30

3.4打包和运行/34

3.5使用Archetype生成项目骨架/36

3.6m2eclipse简单使用/37

3.6.1导入Maven项目/37

3.6.2创建Maven项目/39

3.6.3运行mvn命令/39

3.7NetBeans Maven插件简单使用/41

3.7.1打开Maven项目/41

3.7.2创建Maven项目/42

3.7.3运行mvn命令/43

3.8小结/44





版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

华章出版社

官方博客
官网链接