您好,欢迎光临本网站![请登录][注册会员]  
文件名称: maven学习文档
  所属分类: Java
  开发工具:
  文件大小: 6mb
  下载次数: 0
  上传时间: 2012-12-10
  提 供 者: piaol******
 详细说明: 刚刚进入企业,发现企业都是用maven进行项目管理,svn进行代码管理。 对于我们初入企业的学生,我就知道java,所以就要上网到处查找资料。可是发现有是有,可都比较少和潜,于是我们又到处搜资料。资源部集中,烦的很。 这里,师傅给了我一个全中文maven学习文档,从潜入深,从实例到原理都很详尽。 在这我就贡献出来,为初学者贡献一个力量。 前言 .................................................................. xiv 1. 如何使用本书 .................................................. xiv 2. 你的反馈 ....................................................... xv 3. 字体约定 3 ....................................................... xv 4. Maven书写约定 4 .................................................. xv 5. 致谢 ...... .................................................... xvi 1. 介绍 Apache Maven ................................................... 1 1.1. Maven... 它是什么? ............................................ 1 1.2. 约定优于配置(Convention Over Configuration) .................. 1 1.3. 一个一般的接口 ................................................ 2 1.4. 基于Maven插件的全局性重用 ...................................... 3 1.5. 一个“项目”的概念模型 ......................................... 4 1.6. Maven是Ant的另一种选择么? ..................................... 4 1.7. 比较Maven和Ant ................................................ 5 1.8. 总结 .......................................................... 9 2. 安装和运行Maven ..................................................... 10 2.1. 验证你的Java安装 ............................................. 10 2.2. 下载Maven .................................................... 10 2.3. 安装Maven .................................................... 10 2.3.1. 在Mac OSX上安装Maven ................................... 11 2.3.2. 在Microsoft Windows上安装Maven ......................... 11 2.3.3. 在Linux上安装Maven ..................................... 12 2.3.4. 在FreeBSD或OpenBSD上安装Maven ........................... 12 2.4. 验证Maven安装 ................................................ 12 2.5. Maven安装细节 ................................................ 12 2.5.1. 用户相关配置和仓库 ..................................... 13 2.5.2. 升级Maven .............................................. 13 2.6. 获得Maven帮助 ................................................ 13 2.7. 使用Maven Help插件 ........................................... 14 2.7.1. 描述一个Maven插件 ...................................... 15 2.8. 关于Apache软件许可证 .......................................... 17 I. Maven实战 ........................................................... 19 3. 一个简单的Maven项目 ............................................. 20 3.1. 简介 ..................................................... 20 3.1.1. 下载本章的例子 ..................................... 20 3.2. 创建一个简单的项目 ....................................... 20 3.3. 构建一个简单的项目 ....................................... 22 Maven权威指南 iii 3.4. 简单的项目对象模型 (Project Object Model) ................ 23 3.5. 核心概念 ................................................. 24 3.5.1. Maven插件和目标 (Plugins and Goals) ................ 25 3.5.2. Maven生命周期 (Lifecycle) .......................... 26 3.5.3. Maven坐标 (Coordinates) ............................ 32 3.5.4. Maven仓库(Repositories) ............................ 34 3.5.5. Maven依赖管理 (Dependency Management) .............. 36 3.5.6. 站点生成和报告 (Site Generation and Reporting) ...... 38 3.6. 小结 ..................................................... 38 4. 定制一个Maven项目 .............................................. 39 4.1. 介绍 ..................................................... 39 4.1.1. 下载本章样例 ....................................... 39 4.2. 定义Simple Weather项目 ................................... 39 4.2.1. Yahoo! Weather RSS ................................ 39 4.3. 创建Simple Weather项目 ................................... 40 4.4. 定制项目信息 ............................................. 41 4.5. 添加新的依赖 ............................................. 43 4.6. Simple Weather源码 ....................................... 45 4.7. 添加资源 ................................................. 51 4.8. 运行Simple Weather项目 ................................... 52 4.8.1. Maven Exec 插件 ................................... 53 4.8.2. 浏览你的项目依赖 ................................... 53 4.9. 编写单元测试 ............................................. 55 4.10. 添加测试范围依赖 ........................................ 58 4.11. 添加单元测试资源 ........................................ 58 4.12. 执行单元测试 ............................................ 61 4.12.1. 忽略测试失败 ...................................... 62 4.12.2. 跳过单元测试 ...................................... 63 4.13. 构建一个打包好的命令行应用程序 ........................... 63 5. 一个简单的Web应用 .............................................. 66 5.1. 介绍 ..................................................... 66 5.1.1. 下载本章样例 ....................................... 66 5.2. 定义这个简单的Web应用 .................................... 66 5.3. 创建这个简单的Web应用 .................................... 66 5.4. 配置Jetty插件 ............................................ 68 5.5. 添加一个简单的Servlet .................................... 70 5.6. 添加J2EE依赖 ............................................. 72 5.7. 小结 ..................................................... 74 6. 一个多模块项目 ................................................. 75 6.1. 简介 ..................................................... 75 Maven权威指南 iv 6.1.1. 下载本章样例 ....................................... 75 6.2. simple-parent 项目 ....................................... 75 6.3. simple-weather 模块 ...................................... 77 6.4. simple-webapp 模块 ....................................... 80 6.5. 构建这个多模块项目 ....................................... 82 6.6. 运行Web应用 .............................................. 84 7. 多模块企业级项目 ............................................... 85 7.1. 简介 ..................................................... 85 7.1.1. 下载本章样例 ....................................... 85 7.1.2. 多模块企业级项目 ................................... 85 7.1.3. 本例中所用的技术 ................................... 87 7.2. simple-parent项目 ........................................ 88 7.3. simple-model模块 ......................................... 90 7.4. simple-weather模块 ....................................... 94 7.5. simple-persist模块 ....................................... 99 7.6. simple-webapp模块 ....................................... 108 7.7. 运行这个Web应用 ......................................... 118 7.8. simple-command模块 ...................................... 120 7.9. 运行这个命令行程序 ...................................... 126 7.10. 小结 ................................................... 129 7.10.1. 编写接口项目程序 ................................. 129 8. 优化和重构POM ................................................. 131 8.1. 简介 .................................................... 131 8.2. POM清理 ................................................. 131 8.3. 优化依赖 ................................................ 132 8.4. 优化插件 ................................................ 136 8.5. 使用Maven Dependency插件进行优化 ........................ 137 8.6. 最终的POM ............................................... 140 8.7. 小结 .................................................... 150 II. Maven参考 ......................................................... 151 9. 项目对象模型 .................................................. 152 9.1. 简介 .................................................... 152 9.2. POM ..................................................... 152 9.2.1. 超级POM ........................................... 154 9.2.2. 最简单的POM ....................................... 156 9.2.3. 有效POM ........................................... 157 9.2.4. 真正的POM ......................................... 157 9.3. POM语法 ................................................. 158 9.3.1. 项目版本 .......................................... 158 9.3.2. 属性引用 .......................................... 160 Maven权威指南 v 9.4. 项目依赖 ................................................ 161 9.4.1. 依赖范围 .......................................... 162 9.4.2. 可选依赖 .......................................... 163 9.4.3. 依赖版本界限 ...................................... 165 9.4.4. 传递性依赖 ........................................ 166 9.4.5. 冲突解决 .......................................... 167 9.4.6. 依赖管理 .......................................... 169 9.5. 项目关系 ................................................ 171 9.5.1. 坐标详解 .......................................... 171 9.5.2. 多模块项目 ........................................ 172 9.5.3. 项目继承 .......................................... 174 9.6. POM最佳实践 ............................................. 176 9.6.1. 依赖归类 .......................................... 176 9.6.2. 多模块 vs. 继承 .................................. 178 10. 构建生命周期 ................................................. 184 10.1. 简介 ................................................... 184 10.1.1. 清理生命周期 (clean) ............................. 184 10.1.2. 默认生命周期 (default) ........................... 188 10.1.3. 站点生命周期 (site) .............................. 190 10.2. 打包相关生命周期 ....................................... 190 10.2.1. JAR .............................................. 190 10.2.2. POM .............................................. 191 10.2.3. Maven Plugin ..................................... 191 10.2.4. EJB .............................................. 192 10.2.5. WAR .............................................. 193 10.2.6. EAR .............................................. 193 10.2.7. 其它打包类型 ..................................... 194 10.3. 通用生命周期目标 ....................................... 195 10.3.1. Process Resources ................................ 195 10.3.2. Compile .......................................... 199 10.3.3. Process Test Resources ........................... 200 10.3.4. Test Compile ..................................... 200 10.3.5. Test ............................................. 201 10.3.6. Install .......................................... 202 10.3.7. Deploy ........................................... 202 11. 构建Profile .................................................. 203 11.1. Profile是用来做什么的? ................................. 203 11.1.1. 什么是构建可移植性 ............................... 203 11.1.2. 选择一个适当级别的可移植性 ....................... 204 11.2. 通过Maven Profiles实现可移植性 ......................... 205 Maven权威指南 vi 11.2.1. 覆盖一个项目对象模型 ............................. 207 11.3. 激活Profile ............................................ 208 11.3.1. 激活配置 ......................................... 210 11.3.2. 通过属性缺失激活 ................................. 212 11.4. 外部Profile ............................................ 212 11.5. Settings Profile ....................................... 213 11.5.1. 全局Settings Profile ............................. 215 11.6. 列出活动的Profile ...................................... 215 11.7. 提示和技巧 ............................................. 216 11.7.1. 常见的环境 ....................................... 216 11.7.2. 安全保护 ......................................... 218 11.7.3. 平台分类器 ....................................... 219 11.8. 小结 ................................................... 222 12. Maven套件 .................................................... 223 12.1. 简介 ................................................... 223 12.2. Assembly基础 ........................................... 223 12.2.1. 预定义的套件描述符 ............................... 224 12.2.2. 构建一个套件Building an Assembly ................. 225 12.2.3. 套件作为依赖 ..................................... 227 12.2.4. 通过套件依赖组装套件 ............................. 228 12.3. 套件描述符概述 ......................................... 232 12.4. 套件描述符 ............................................. 234 12.4.1. 套件描述符中的属性引用 ........................... 234 12.4.2. 必须的套件信息 ................................... 234 12.5. 控制一个套件的内容 ..................................... 236 12.5.1. Files 元素 ....................................... 236 12.5.2. FileSets 元素 .................................... 237 12.5.3. fileSets####### ................................... 239 12.5.4. dependencySets 元素 .............................. 241 12.5.5. moduleSets 元素 .................................. 250 12.5.6. Repositories元素 ................................. 256 12.5.7. 管理套件的根目录 ................................. 256 12.5.8. componentDescriptors和containerDescriptorHandlers ... 257 12.6. 最佳实践 ............................................... 258 12.6.1. 标准的,可重用的套件描述符 ....................... 258 12.6.2. 分发(聚合)套件 ................................. 261 12.7. 总结 ................................................... 265 13. 属性和资源过滤 ............................................... 266 13.1. 简介 ................................................... 266 13.2. Maven属性 .............................................. 266 Maven权威指南 vii 13.2.1. Maven项目的属性 .................................. 267 13.2.2. Maven的Settings属性 .............................. 268 13.2.3. 环境变量属性 ..................................... 269 13.2.4. Java系统属性 ..................................... 269 13.2.5. 用户定义的属性 ................................... 271 13.3. 资源过滤 ............................................... 272 14. Maven和Eclipse: m2eclipse .................................... 276 14.1. 简介 ................................................... 276 14.2. m2eclipse .............................................. 276 14.3. 安装 m2eclipse 插件 .................................... 277 14.3.1. 安装前提条件 ..................................... 277 14.3.2. 安装 m2eclipse ................................... 279 14.4. 开启 Maven 控制台 ...................................... 279 14.5. 创建一个 Maven 项目 .................................... 280 14.5.1. 从 SCM 签出一个 Maven 项目 ...................... 281 14.5.2. 用Maven Archetype创建一个Maven项目 ............... 283 14.5.3. 创建一个 Maven 模块 .............................. 285 14.6. 创建一个Maven POM文件 .................................. 287 14.7. 导入Maven项目 .......................................... 290 14.7.1. 导入一个Maven项目 ................................ 292 14.7.2. 具体化一个Maven项目 .............................. 293 14.8. 运行Maven构建 .......................................... 296 14.9. 使用Maven进行工作 ...................................... 298 14.9.1. 添加及更新依赖或插件 ............................. 300 14.9.2. 创建一个Maven模块 ................................ 301 14.9.3. 下载源码 ......................................... 302 14.9.4. 打开项目页面 ..................................... 302 14.9.5. 解析依赖 ......................................... 302 14.10. 使用Maven仓库进行工作 ................................. 302 14.10.1. 搜索 Maven 构件和 Java 类 ...................... 303 14.10.2. 为Maven仓库编制索引 ............................. 306 14.11. 使用基于表单的POM编辑器 ............................... 308 14.12. 在m2eclipse中分析项目依赖 ............................. 317 14.13. Maven 选项 ............................................ 322 14.14. 小结 .................................................. 327 15. 站点生成 ..................................................... 328 15.1. 简介 ................................................... 328 15.2. 使用Maven构建项目站点 .................................. 328 15.3. 自定义站点描述符 ....................................... 331 15.3.1. 自定义页面顶端图片 ............................... 332 Maven权威指南 viii 15.3.2. 自定义导航菜单 ................................... 333 15.4. 站点目录结构 ........................................... 334 15.5. 编写项目文档 ........................................... 335 15.5.1. APT样例 .......................................... 336 15.5.2. FML样例 .......................................... 336 15.6. 部署你的项目web站点 .................................... 337 15.6.1. 配置服务器认证 ................................... 338 15.6.2. 配置文件和目录模式 ............................... 339 15.7. 自定义站点外观 ......................................... 339 15.7.1. 自定义站点CSS .................................... 339 15.7.2. 创建自定义的站点模板 ............................. 340 15.7.3. 可重用的web站点皮肤 .............................. 345 15.7.4. 创建自定义的主题CSS .............................. 346 15.7.5. 在皮肤中自定义站点模板 ........................... 347 15.8. 提示与技巧 ............................................. 348 15.8.1. 给HEAD嵌入XHTML .................................. 348 15.8.2. 在你站点logo下添加链接 ........................... 349 15.8.3. 为你的站点添加导航链接 ........................... 349 15.8.4. 添加项目版本 ..................................... 350 15.8.5. 修改发布日期格式和位置 ........................... 351 15.8.6. 使用Doxia宏 ...................................... 352 16. 仓库管理器 ................................................... 354 16.1. 简介 ................................................... 354 16.1.1. Nexus历史 ........................................ 354 16.2. 安装Nexus .............................................. 355 16.2.1. 从Sonatype下载Nexus .............................. 355 16.2.2. 安装Nexus ........................................ 355 16.2.3. 运行Nexus ........................................ 355 16.2.4. 安装后检查单 ..................................... 357 16.2.5. 为Redhat/Fedora/CentOS设置启动脚本 ............... 358 16.2.6. 升级Nexus版本 .................................... 360 16.3. 使用Nexus .............................................. 361 16.3.1. 浏览仓库 ......................................... 362 16.3.2. 浏览组 ........................................... 364 16.3.3. 搜索构件 ......................................... 366 16.3.4. 浏览系统RSS源 .................................... 367 16.3.5. 浏览日志文件和配置 ............................... 369 16.3.6. 更改你的密码 ..................................... 370 16.4. 配置Maven使用Nexus ..................................... 371 16.4.1. 使用Nexus中央代理仓库 ............................ 371 Maven权威指南 ix 16.4.2. 使用Nexus作为快照仓库 ............................ 372 16.4.3. 为缺少的依赖添加仓库 ............................. 374 16.4.4. 添加一个新的仓库 ................................. 375 16.4.5. 添加一个仓库至一个组 ............................. 377 16.5. 配置Nexus .............................................. 379 16.5.. 定制服务器配置 .................................... 379 16.5.2. 管理仓库 ......................................... 381 16.5.3. 管理组 ........................................... 386 16.5.4. 管理路由 ......................................... 388 16.5.5. 网络配置 ......................................... 391 16.6. 维护仓库 ............................................... 391 16.7. 部署构件至Nexus ........................................ 392 16.7.1. 部署发布版 ....................................... 393 16.7.2. 部署快照版 ....................................... 394 16.7.3. 部署第三方构件 ................................... 395 17. 编写插件 ..................................................... 397 17.1. 简介 ................................................... 397 17.2. Maven编程 .............................................. 397 17.2.1. 什么是反转控制? ................................. 397 17.2.2. Plexus简介 ....................................... 398 17.2.3. 为什么使用Plexus? ................................ 399 17.2.4. 什么是插件? ..................................... 399 17.3. 插件描述符 ............................................. 400 17.3.1. 顶层插件描述符元素 ............................... 402 17.3.2. Mojo配置 ......................................... 402 17.3.3. 插件依赖 ......................................... 405 17.4. 编写自定义插件 ......................................... 405 17.4.1. 创建一个插件项目 ................................. 405 17.4.2. 一个简单的Java Mojo .............................. 406 17.4.3. 配置插件前缀 ..................................... 408 17.4.4. 插件中的日志 ..................................... 411 17.4.5. Mojo类注解 ....................................... 412 17.4.6. 当Mojo失败的时候 ................................. 414 17.5. Mojo参数 ............................................... 415 17.5.1. 为Mojo参数提供值 ................................. 415 17.5.2. 多值的Mojo参数 ................................... 417 17.5.3. 依赖于一个Plexus组件 ............................. 419 17.5.4. Mojo参数注解 ..................................... 419 17.6. 插件和Maven生命周期 .................................... 420 17.6.1. 执行平行的生命周期 ............................... 421 Maven权威指南 x 17.6.2. 创建自定义的生命周期 ............................. 421 17.6.3. 覆盖默认生命周期 ................................. 423 18. 使用可选语言编写插件 .......................................... 425 18.1. 使用Ant编写插件 ........................................ 425 18.2. 创建一个Ant插件 ........................................ 425 18.3. 使用JRuby编写插件 ...................................... 428 18.3.1. 创建一个JRuby插件 ................................ 429 18.3.2. Ruby Mojo实现 .................................... 431 18.3.3. Ruby Mojo中使用日志 .............................. 434 18.3.4. Raise一个MojoError ............................... 434 18.3.5. 在JRuby中引用Plexus组件 .......................... 435 18.4. 使用Groovy编写插件 ..................................... 436 18.4.1. 创建一个Groovy插件 ............................... 436 A. 附录: Settings细节 ................................................. 439 A.1. 简介 ........................................................ 439 A.2. Settings细节 ................................................ 439 A.2.1. 简单值 ................................................ 439 A.2.2. 服务器(Servers) ..................................... 441 A.2.3. 镜像(Mirrors) ....................................... 442 A.2.4. 代理(Proxies) ....................................... 443 A.2.5. Profiles .............................................. 444 A.2.6. 激活(Activation) .................................... 444 A.2.7. 属性(Properties) .................................... 446 A.2.8. 仓库(Repositories) .................................. 447 A.2.9. 插件仓库 .............................................. 449 A.2.10. 激活的Profile ........................................ 449 B. 附录: Sun规格说明可选实现 .......................................... 450 ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: maven 学习
 输入关键字,在本站1000多万海量源码库中尽情搜索: