Maven是Java项目构建工具,由资深Java讲师结合多年的教学经验编写,是为数不多的帮助程序员从零开始认识Maven,使用Maven,再到熟练掌握Maven的辅导书。全书总体分成三个层次: Maven的安装使用、Maven的核心概念和运行原理以及Maven的高级应用。其中通过穿插案例,介绍了Maven的安装与Eclipse的集成配置,搭建Archiva服务器的方法,Maven的架构、运行生命周期、仓库、依赖和插件,基于Maven生成项目站点、生成项目报告文档和软件测试等内容。全书以实践为宗旨,一切源于实践,又回归于实践。 本书适合Java程序员和项目经理阅读,也可作为相关领域的培训教材和业余爱好者的参考用书。
目录
- 第1章课前准备1
- 1.1项目经理的工作1
- 1.2Maven的作用1
- 第2章开始学习Maven2
- 2.1Maven简介2
- 2.2安装Maven前的准备2
- 2.2.1下载合适的JDK安装软件安装2
- 2.2.2配置JDK环境变量3
- 2.2.3测试JDK是否安装成功5
- 2.3Maven的安装与配置5
- 第3章使用Maven开发第一个案例8
- 3.1创建Maven项目8
- 3.1.1使用命令向导一步步创建项目9
- 3.1.2在命令中输入所有必要信息直接创建项目9
- 3.2添加样例代码10
- 3.2.1HelloWorld.java11
- 3.2.2TestHelloWorld.java11
- 3.3编写Maven骨架文件12
- 3.4编译和测试13
- 3.5生成站点和报告文档15
- 3.5.1生成站点信息15
- 3.5.2生成API Doc文档16
- 第4章基于Eclipse安装Maven插件18
- 4.1搭建Eclipse M2Eclipse的必要性18
- 4.2安装配置M2Eclipse插件18
- 4.3创建Maven项目23
- 4.4构建Maven项目254.5基于M2Eclipse完成所有工作26
- 4.5.1运行测试27
- 4.5.2生成javadoc API帮助文档29
- 4.5.3生成站点30
- 4.5.4测试报告30
- 第5章基于Maven开发Web应用32
- 5.1开发Web应用的思路32
- 5.2实现Web版HelloWorld32
- 5.2.1安装配置Web应用的ArchetypeCatalog32
- 5.2.2基于Archetype向导创建Web工程34
- 5.2.3编写样例代码35
- 5.2.4构建Web项目35
- 5.2.5测试39
- 5.3基于Maven开发用户模块的CRUD39
- 5.3.1创建Web工程和初始化数据库39
- 5.3.2添加相关依赖40
- 5.3.3添加注册代码41
- 5.3.4构建项目42
- 5.3.5测试43
- 第6章开发企业级Web应用44
- 6.1企业Web应用简介44
- 6.2搭建Maven私服44
- 6.2.1下载Archiva44
- 6.2.2启动服务器45
- 6.2.3初始化和配置Archiva服务器46
- 6.2.4在开发员端配置对私服的使用48
- 6.3实现Struts2 Spring Hibernate框架应用50
- 6.3.1创建公共POM模块51
- 6.3.2实现Hibernate DAO模块57
- 6.3.3实现Service模块64
- 6.3.4实现Struts2 Web模块68
- 6.3.5整合成SSH73
- 6.4实现SpringMVC Spring MyBatis框架应用78
- 6.4.1创建公共POM78
- 6.4.2实现MyBatis DAO模块82
- 6.4.3实现Spring的Service层模块85
- 6.4.4实现SpringMVC Web模块86
- 6.4.5整合成SSM93
- 第7章生成项目站点95
- 7.1生成基本站点95
- 7.1.1简单站点95
- 7.1.2完善站点信息97
- 7.2添加插件丰富站点信息99
- 7.2.1JavaDoc插件99
- 7.2.2源代码插件101
- 7.2.3测试报告插件102
- 7.2.4源代码分析插件104
- 7.3个性化站点105
- 7.3.1修饰外观105
- 7.3.2自定义页面110
- 7.3.3国际化115
- 7.4部署站点116
- 7.4.1在Tomcat 7上的DAV服务117
- 7.4.2设置Tomcat 7的用户名和密码118
- 7.4.3配置Maven的DAV自动部署118
- 第8章版本管理121
- 8.1简介121
- 8.2专业术语121
- 8.2.1快照版本121
- 8.2.2发布版本121
- 8.2.3版本管理关系121
- 8.2.4版本号的约定122
- 8.2.5主干、分支、标签122
- 8.3自动版本发布123
- 8.3.1准备环境124
- 8.3.2创建仓库125
- 8.3.3创建样例项目125
- 8.4GPG签名验证130
- 8.4.1第1阶段: 手动操作GPG131
- 8.4.2第2阶段: 基于Maven插件使用GPG135
- 第9章Maven核心概念138
- 9.1简介138
- 9.2生命周期138
- 9.2.1生命周期简介138
- 9.2.2深入生命周期139
- 9.2.3调用生命周期阶段140
- 9.3插件144
- 9.3.1插件的作用和目标144
- 9.3.2插件同生命周期阶段的绑定144
- 9.3.3插件参数配置147
- 9.3.4获取插件信息149
- 9.3.5调用插件153
- 9.3.6解析插件154
- 9.4坐标156
- 9.4.1groupId157
- 9.4.2artifactId157
- 9.4.3version157
- 9.4.4packaging157
- 9.4.5classifier158
- 9.5仓库158
- 9.5.1Maven仓库的定义158
- 9.5.2仓库的管理方式159
- 9.5.3仓库的种类160
- 9.5.4配置远程仓库163
- 9.5.5快照版本166
- 9.5.6从仓库中解析依赖的机制167
- 9.5.7镜像167
- 9.5.8仓库搜索服务169
- 9.6依赖169
- 9.6.1依赖是什么169
- 9.6.2依赖的配置170
- 9.6.3依赖的范围170
- 9.6.4传递性依赖172
- 9.6.5依赖的调解173
- 9.6.6排除依赖175
- 9.6.7归类依赖175
- 9.6.8优化依赖177
- 9.7继承和聚合177
- 第10章Maven测试186
- 10.1测试简介186
- 10.2测试框架186
- 10.2.1JUnit单元测试框架186
- 10.2.2TestNG测试框架187
- 10.3Maven测试插件189
- 10.3.1Surefire插件简介189
- 10.3.2跳过测试190
- 10.3.3个性化指定运行测试191
- 10.3.4包含和排除测试192
- 10.4测试报告192
- 10.4.1基本测试报告193
- 10.4.2测试覆盖率报告194
- 10.5重用测试代码194
- 第11章灵活构建Maven项目196
- 11.1Maven属性196
- 11.1.1内置属性197
- 11.1.2POM属性197
- 11.1.3自定义属性197
- 11.1.4Settings属性197
- 11.1.5Java系统属性198
- 11.1.6环境变量属性198
- 11.2需要灵活处理的构建环境198
- 11.3资源过滤198
- 11.4Maven的profile200
- 11.4.1针对不同环境的profile的配置200
- 11.4.2激活profile配置201
- 11.4.3profile的种类204
- 11.5Web资源过滤205
- 11.6在profile中激活集成测试206
- 第12章自定义Maven插件208
- 12.1自定义Maven插件简介208
- 12.2自定义Maven插件案例209
- 12.3自定义Maven插件的详细说明215
- 12.3.1Mojo标记216
- 12.3.2Mojo参数217
- 12.4自定义Maven插件中的错误处理和日志221
- 第13章Archetype扩展222
- 13.1Archetype使用概述222
- 13.1.1mavenarchetypequickstart223
- 13.1.2mavenarchetypewebapp223
- 13.1.3AppFuse Archetype223
- 13.2自定义Archetype224
- 13.3Archetype数据库224
- 13.3.1Archetype数据库简介224
- 13.3.2使用本地Archetype数据库225
- 13.4在M2Eclipse中配置ArchetypeCatalogs226
- 参考文献227
- 附录228