Maven权威指南中文版pdf(高清带完整目录)
Maven权威指南 完整版的Maven权威指南,包括了其他版本缺失的12,13,15,17,18章以及附录.目录书签更加详细,且未加密,可自己加批注或高亮文字等.非扫描版. Tim O'Brien Sonatype, Inc. John Casey Sonatype, Inc. Brian Fox Sonatype, Inc. Bruce Snyder Jason Van Zyl Sonatype, Inc. Juven Xu(译) Sonatype, Inc. Abstract Maven权威指南是一本关于Apache Maven的书。 版权 1. Creative Commons BY-ND-NC 序: Beta 0.2 前言 1. 如何使用本书 2. 你的反馈 3. 字体约定[1] 4. Maven书写约定[2] 5. 致谢 1. 介绍 Apache Maven 1.1. Maven... 它是什么? 1.2. 约定优于配置(Convention Over Configuration) 1.3. 一个一般的接口 1.4. 基于Maven插件的全局性重用 1.5. 一个“项目”的概念模型 1.6. Maven是Ant的另一种选择么? 1.7. 比 较Maven和Ant 1.8. 总结 2. 安装和运行Maven 2.1. 验证你的Java安装 2.2. 下载Maven 2.3. 安装Maven 2.3.1. 在Mac OSX上安装Maven 2.3.2. 在Microsoft Windows上安装Maven 2.3.3. 在Linux上安装Maven 2.3.4. 在FreeBSD或OpenBSD上安装Maven 2.4. 验证Maven安装 2.5. Maven安装细节 2.5.1. 用户相关配置和仓库 2.5.2. 升级Maven 2.6. 获得Maven帮助 2.7. 使用Maven Help插件 2.7.1. 描述一个Maven插件 2.8. 关于Apache软件许可证 I. Maven实战 3. 一个简单的Maven项目 3.1. 简介 3.1.1. 下载本章的例子 3.2. 创建一个简单的项目 3.3. 构建一个简单的项目 3.4. 简单的项目对象模型 (Project Object Model) 3.5. 核心概念 3.5.1. Maven插件和目标 (Plugins and Goals) 3.5.2. Maven生命周期 (Lifecycle) 3.5.3. Maven坐标 (Coordinates) 3.5.4. Maven仓库(Repositories) 3.5.5. Maven依赖管理 (Dependency Management) 3.5.6. 站点生成和报告 (Site Generation and Reporting) 3.6. 小结 4. 定制一个Maven项目 4.1. 介绍 4.1.1. 下载本章样例 4.2. 定义Simple Weather项目 4.2.1. Yahoo! Weather RSS 4.3. 创建Simple Weather项目 4.4. 定制项目信息 4.5. 添加新的依赖 4.6. Simple Weather源码 4.7. 添加资源 4.8. 运行Simple Weather项目 4.8.1. Maven Exec 插件 4.8.2. 浏览你的项目依赖 4.9. 编写单元测试 4.10. 添加测试范围依赖 4.11. 添加单元测试资源 4.12. 执行单元测试 4.12.1. 忽略测试失败 4.12.2. 跳过单元测试 4.13. 构建一个打包好的命令行应用程序 5. 一个简单的Web应用 5.1. 介绍 5.1.1. 下载本章样例 5.2. 定义这个简单的Web应用 5.3. 创建这个简单的Web应用 5.4. 配置Jetty插件 5.5. 添加一个简单的Servlet 5.6. 添加J2EE依赖 5.7. 小结 6. 一个多模块项目 6.1. 简介 6.1.1. 下载本章样例 6.2. simple-parent 项目 6.3. simple-weather 模块 6.4. simple-webapp 模块 6.5. 构建这个多模块项目 6.6. 运行Web应用 7. 多模块企业级项目 7.1. 简介 7.1.1. 下载本章样例 7.1.2. 多模块企业级项目 7.1.3. 本例中所用的技术 7.2. simple-parent项目 7.3. simple-model模块 7.4. simple-weather模块 7.5. simple-persist模块 7.6. simple-webapp模块 7.7. 运行这个Web应用 7.8. simple-command模块 7.9. 运行这个命令行程序 7.10. 小结 7.10.1. 编写接口项目程序 8. 优化和重构POM 8.1. 简介 8.2. POM清理 8.3. 优化依赖 8.4. 优化插件 8.5. 使用Maven Dependency插件进行优化 8.6. 最终的POM 8.7. 小结 II. Maven参考 9. 项目对象模型 9.1. 简介 9.2. POM 9.2.1. 超级POM 9.2.2. 最简单的POM 9.2.3. 有效POM 9.2.4. 真正的POM 9.3. POM语法 9.3.1. 项目版本 9.3.1.1. 版本构建号 9.3.1.2. SNAPSHOT版本 9.3.1.3. LATEST 和 RELEASE 版本 9.3.2. 属性引用 9.4. 项目依赖 9.4.1. 依赖范围 9.4.2. 可选依赖 9.4.3. 依赖版本界限 9.4.4. 传递性依赖 9.4.4.1. 传递性依赖和范围 9.4.5. 冲突解决 9.4.6. 依赖管理 9.5. 项目关系 9.5.1. 坐标详解 9.5.2. 多模块项目 9.5.3. 项目继承 9.6. POM最佳实践 9.6.1. 依赖归类 9.6.2. 多模块 vs. 继承 9.6.2.1. 简单项目 9.6.2.2. 多模块企业级项目 9.6.2.3. 原型父项目 10. 构建生命周期 10.1. 简介 10.1.1. 清理生命周期 (clean) 10.1.2. 默认生命周期 (default) 10.1.3. 站点生命周期 (site) 10.2. 打包相关生命周期 10.2.1. JAR 10.2.2. POM 10.2.3. Maven Plugin 10.2.4. EJB 10.2.5. WAR 10.2.6. EAR 10.2.7. 其它打包类型 10.3. 通用生命周期目标 10.3.1. Process Resources 10.3.2. Compile 10.3.3. Process Test Resources 10.3.4. Test Compile 10.3.5. Test 10.3.6. Install 10.3.7. Deploy 11. 构建Profile 11.1. Profile是用来做什么的? 11.1.1. 什么是构建可移植性 11.1.1.1. 不可移植构建 11.1.1.2. 环境可移植性 11.1.1.3. 组织(内部)可移植性 11.1.1.4. 广泛(全局)可移植性 11.1.2. 选择一个适当级别的可移植性 11.2. 通过Maven Profiles实现可移植性 11.2.1. 覆盖一个项目对象模型 11.3. 激活Profile 11.3.1. 激活配置 11.3.2. 通过属性缺失激活 11.4. 外部Profile 11.5. Settings Profile 11.5.1. 全局Settings Profile 11.6. 列出活动的Profile 11.7. 提示和技巧 11.7.1. 常见的环境 11.7.2. 安全保护 11.7.3. 平台分类器 11.8. 小结 12. Maven套件 12.1. 简介 12.2. Assembly基础 12.2.1. 预定义的套件描述符 12.2.2. 构建一个套件Building an Assembly 12.2.3. 套件作为依赖 12.2.4. 通过套件依赖组装套件 12.3. 套件描述符概述 12.4. 套件描述符 12.4.1. 套件描述符中的属性引用 12.4.2. 必须的套件信息 12.5. 控制一个套件的内容 12.5.1. Files 元素 12.5.2. FileSets 元素 12.5.3. fileSets的默认排除模式 12.5.4. dependencySets 元素 12.5.4.1. 自定义依赖输出目录 12.5.4.2. 依赖输出位置的属性插值 12.5.4.3. 通过范围包含或排除依赖 12.5.4.4. 微调:依赖包含和排除 12.5.4.5. 传递性依赖,项目构件,项目附属构件 12.5.4.6. 高级拆解选项 12.5.4.7. 依赖集合小结 12.5.5. moduleSets 元素 12.5.5.1. 模块选择 12.5.5.2. 源码选择 12.5.5.3. moduleSets中outputDirectoryMapping的插值 12.5.5.4. 字节码选择 12.5.5.5. moduleSets, 父POM,和binaries元素 12.5.6. Repositories元素 12.5.7. 管理套件的根目录 12.5.8. componentDescriptors和containerDescriptorHandlers 12.6. 最佳实践 12.6.1. 标准的,可重用的套件描述符 12.6.2. 分发(聚合)套件 12.7. 总结 13. 属性和资源过滤 13.1. 简介 13.2. Maven属性 13.2.1. Maven项目的属性 13.2.2. Maven的Settings属性 13.2.3. 环境变量属性 13.2.4. Java系统属性 13.2.5. 用户定义的属性 13.3. 资源过滤 14. Maven和Eclipse: m2eclipse 14.1. 简介 14.2. m2eclipse 14.3. 安装 m2eclipse 插件 14.3.1. 安装前提条件 14.3.1.1. 安装 Subclipse 14.3.1.2. 安装 Mylyn 14.3.1.3. 安装 AspectJ Tools Platform (AJDT) 14.3.1.4. 安装 Web Tools Platform (WTP) 14.3.2. 安装 m2eclipse 14.4. 开启 Maven 控制台 14.5. 创建一个 Maven 项目 14.5.1. 从 SCM 签出一个 Maven 项目 14.5.2. 用Maven Archetype创建一个Maven项目 14.5.3. 创建一个 Maven 模块 14.6. 创建一个Maven POM文件 14.7. 导入Maven项目 14.7.1. 导入一个Maven项目 14.7.2. 具体化一个Maven项目 14.8. 运行Maven构建 14.9. 使用Maven进行工作 14.9.1. 添加及更新依赖或插件 14.9.2. 创建一个Maven模块 14.9.3. 下载源码 14.9.4. 打开项目页面 14.9.5. 解析依赖 14.10. 使用Maven仓库进行工作 14.10.1. 搜索 Maven 构件和 Java 类 14.10.2. 为Maven仓库编制索引 14.11. 使用基于表单的POM编辑器 14.12. 在m2eclipse中分析项目依赖 14.13. Maven 选项 14.14. 小结 15. 站点生成 15.1. 简介 15.2. 使用Maven构建项目站点 15.3. 自定义站点描述符 15.3.1. 自定义页面端图片 15.3.2. 自定义导航菜单 15.4. 站点目录结构 15.5. 编写项目文档 15.5.1. APT样例 15.5.2. FML样例 15.6. 部署你的项目web站点 15.6.1. 配置服务器认证 15.6.2. 配置文件和目录模式 15.7. 自定义站点外观 15.7.1. 自定义站点CSS 15.7.2. 创建自定义的站点模板 15.7.3. 可重用的web站点皮肤 15.7.4. 创建自定义的主题CSS 15.7.5. 在皮肤中自定义站点模板 15.8. 提示与技巧 15.8.1. 给HEAD嵌入XHTML 15.8.2. 在你站点logo下添加链接 15.8.3. 为你的站点添加导航链接 15.8.4. 添加项目版本 15.8.5. 修改发布日期格式和位置 15.8.6. 使用Doxia宏 16. 仓库管理器 16.1. 简介 16.1.1. Nexus历史 16.2. 安装Nexus 16.2.1. 从Sonatype下载Nexus 16.2.2. 安装Nexus 16.2.3. 运行Nexus 16.2.4. 安装后检查单 16.2.5. 为Redhat/Fedora/CentOS设置启动脚本 16.2.6. 升级Nexus版本 16.3. 使用Nexus 16.3.1. 浏览仓库 16.3.2. 浏览组 16.3.3. 搜索构件 16.3.4. 浏览系统RSS源 16.3.5. 浏览日志文件和配置 16.3.6. 更改你的密码 16.4. 配置Maven使用Nexus 16.4.1. 使用Nexus中央代理仓库 16.4.2. 使用Nexus作为快照仓库 16.4.3. 为缺少的依赖添加仓库 16.4.4. 添加一个新的仓库 16.4.5. 添加一个仓库至一个组 16.5. 配置Nexus 16.5.. 定制服务器配置 16.5.2. 管理仓库 16.5.3. 管理组 16.5.4. 管理路由 16.5.5. 网络配置 16.6. 维护仓库 16.7. 部署构件至Nexus 16.7.1. 部署发布版 16.7.2. 部署快照版 16.7.3. 部署第三方构件 17. 编写插件 17.1. 简介 17.2. Maven编程 17.2.1. 什么是反转控制? 17.2.2. Plexus简介 17.2.3. 为什么使用Plexus? 17.2.4. 什么是插件? 17.3. 插件描述符 17.3.1. 层插件描述符元素 17.3.2. Mojo配置 17.3.3. 插件依赖 17.4. 编写自定义插件 17.4.1. 创建一个插件项目 17.4.2. 一个简单的Java Mojo 17.4.3. 配置插件前缀 17.4.4. 插件中的日志 17.4.5. Mojo类注解 17.4.6. 当Mojo失败的时候 17.5. Mojo参数 17.5.1. 为Mojo参数提供值 17.5.2. 多值的Mojo参数 17.5.3. 依赖于一个Plexus组件 17.5.4. Mojo参数注解 17.6. 插件和Maven生命周期 17.6.1. 执行平行的生命周期 17.6.2. 创建自定义的生命周期 17.6.3. 覆盖默认生命周期 18. 使用可选语言编写插件 18.1. 使用Ant编写插件 18.2. 创建一个Ant插件 18.3. 使用JRuby编写插件 18.3.1. 创建一个JRuby插件 18.3.2. Ruby Mojo实现 18.3.3. Ruby Mojo中使用日志 18.3.4. Raise一个MojoError 18.3.5. 在JRuby中引用Plexus组件 18.4. 使用Groovy编写插件 18.4.1. 创建一个Groovy插件 A. 附录: Settings细节 A.1. 简介 A.2. Settings细节 A.2.1. 简单值 A.2.2. 服务器(Servers) A.2.3. 镜像(Mirrors) A.2.4. 代理(Proxies) A.2.5. Profiles A.2.6. 激活(Activation) A.2.7. 属性(Properties) A.2.8. 仓库(Repositories) A.2.9. 插件仓库 A.2.10. 激活的Profile B. 附录: Sun规格说明可选实现 List of Figures List of Examples 较Maven和Ant 1.8. 总结 2. 安装和运行Maven 2.1. 验证你的Java安装 2.2. 下载Maven 2.3. 安装Maven 2.3.1. 在Mac OSX上安装Maven 2.3.2. 在Microsoft Windows上安装Maven 2.3.3. 在Linux上安装Maven 2.3.4. 在FreeBSD或OpenBSD上安装Maven 2.4. 验证Maven安装 2.5. Maven安装细节 2.5.1. 用户相关配置和仓库 2.5.2. 升级Maven 2.6. 获得Maven帮助 2.7. 使用Maven Help插件 2.7.1. 描述一个Maven插件 2.8. 关于Apache软件许可证 I. Maven实战 3. 一个简单的Maven项目 3.1. 简介 3.1.1. 下载本章的例子 3.2. 创建一个简单的项目 3.3. 构建一个简单的项目 3.4. 简单的项目对象模型 (Project Object Model) 3.5. 核心概念 3.5.1. Maven插件和目标 (Plugins and Goals) 3.5.2. Maven生命周期 (Lifecycle) 3.5.3. Maven坐标 (Coordinates) 3.5.4. Maven仓库(Repositories) 3.5.5. Maven依赖管理 (Dependency Management) 3.5.6. 站点生成和报告 (Site Generation and Reporting) 3.6. 小结 4. 定制一个Maven项目 4.1. 介绍 4.1.1. 下载本章样例 4.2. 定义Simple Weather项目 4.2.1. Yahoo! Weather RSS 4.3. 创建Simple Weather项目 4.4. 定制项目信息 4.5. 添加新的依赖 4.6. Simple Weather源码 4.7. 添加资源 4.8. 运行Simple Weather项目 4.8.1. Maven Exec 插件 4.8.2. 浏览你的项目依赖 4.9. 编写单元测试 4.10. 添加测试范围依赖 4.11. 添加单元测试资源 4.12. 执行单元测试 4.12.1. 忽略测试失败 4.12.2. 跳过单元测试 4.13. 构建一个打包好的命令行应用程序 5. 一个简单的Web应用 5.1. 介绍 5.1.1. 下载本章样例 5.2. 定义这个简单的Web应用 5.3. 创建这个简单的Web应用 5.4. 配置Jetty插件 5.5. 添加一个简单的Servlet 5.6. 添加J2EE依赖 5.7. 小结 6. 一个多模块项目 6.1. 简介 6.1.1. 下载本章样例 6.2. simple-parent 项目 6.3. simple-weather 模块 6.4. simple-webapp 模块 6.5. 构建这个多模块项目 6.6. 运行Web应用 7. 多模块企业级项目 7.1. 简介 7.1.1. 下载本章样例 7.1.2. 多模块企业级项目 7.1.3. 本例中所用的技术 7.2. simple-parent项目 7.3. simple-model模块 7.4. simple-weather模块 7.5. simple-persist模块 7.6. simple-webapp模块 7.7. 运行这个Web应用 7.8. simple-command模块 7.9. 运行这个命令行程序 7.10. 小结 7.10.1. 编写接口项目程序 8. 优化和重构POM 8.1. 简介 8.2. POM清理 8.3. 优化依赖 8.4. 优化插件 8.5. 使用Maven Dependency插件进行优化 8.6. 最终的POM 8.7. 小结 II. Maven参考 9. 项目对象模型 9.1. 简介 9.2. POM 9.2.1. 超级POM 9.2.2. 最简单的POM 9.2.3. 有效POM 9.2.4. 真正的POM 9.3. POM语法 9.3.1. 项目版本 9.3.1.1. 版本构建号 9.3.1.2. SNAPSHOT版本 9.3.1.3. LATEST 和 RELEASE 版本 9.3.2. 属性引用 9.4. 项目依赖 9.4.1. 依赖范围 9.4.2. 可选依赖 9.4.3. 依赖版本界限 9.4.4. 传递性依赖 9.4.4.1. 传递性依赖和范围 9.4.5. 冲突解决 9.4.6. 依赖管理 9.5. 项目关系 9.5.1. 坐标详解 9.5.2. 多模块项目 9.5.3. 项目继承 9.6. POM最佳实践 9.6.1. 依赖归类 9.6.2. 多模块 vs. 继承 9.6.2.1. 简单项目 9.6.2.2. 多模块企业级项目 9.6.2.3. 原型父项目 10. 构建生命周期 10.1. 简介 10.1.1. 清理生命周期 (clean) 10.1.2. 默认生命周期 (default) 10.1.3. 站点生命周期 (site) 10.2. 打包相关生命周期 10.2.1. JAR 10.2.2. POM 10.2.3. Maven Plugin 10.2.4. EJB 10.2.5. WAR 10.2.6. EAR 10.2.7. 其它打包类型 10.3. 通用生命周期目标 10.3.1. Process Resources 10.3.2. Compile 10.3.3. Process Test Resources 10.3.4. Test Compile 10.3.5. Test 10.3.6. Install 10.3.7. Deploy 11. 构建Profile 11.1. Profile是用来做什么的? 11.1.1. 什么是构建可移植性 11.1.1.1. 不可移植构建 11.1.1.2. 环境可移植性 11.1.1.3. 组织(内部)可移植性 11.1.1.4. 广泛(全局)可移植性 11.1.2. 选择一个适当级别的可移植性 11.2. 通过Maven Profiles实现可移植性 11.2.1. 覆盖一个项目对象模型 11.3. 激活Profile 11.3.1. 激活配置 11.3.2. 通过属性缺失激活 11.4. 外部Profile 11.5. Settings Profile 11.5.1. 全局Settings Profile 11.6. 列出活动的Profile 11.7. 提示和技巧 11.7.1. 常见的环境 11.7.2. 安全保护 11.7.3. 平台分类器 11.8. 小结 12. Maven套件 12.1. 简介 12.2. Assembly基础 12.2.1. 预定义的套件描述符 12.2.2. 构建一个套件Building an Assembly 12.2.3. 套件作为依赖 12.2.4. 通过套件依赖组装套件 12.3. 套件描述符概述 12.4. 套件描述符 12.4.1. 套件描述符中的属性引用 12.4.2. 必须的套件信息 12.5. 控制一个套件的内容 12.5.1. Files 元素 12.5.2. FileSets 元素 12.5.3. fileSets的默认排除模式 12.5.4. dependencySets 元素 12.5.4.1. 自定义依赖输出目录 12.5.4.2. 依赖输出位置的属性插值 12.5.4.3. 通过范围包含或排除依赖 12.5.4.4. 微调:依赖包含和排除 12.5.4.5. 传递性依赖,项目构件,项目附属构件 12.5.4.6. 高级拆解选项 12.5.4.7. 依赖集合小结 12.5.5. moduleSets 元素 12.5.5.1. 模块选择 12.5.5.2. 源码选择 12.5.5.3. moduleSets中outputDirectoryMapping的插值 12.5.5.4. 字节码选择 12.5.5.5. moduleSets, 父POM,和binaries元素 12.5.6. Repositories元素 12.5.7. 管理套件的根目录 12.5.8. componentDescriptors和containerDescriptorHandlers 12.6. 最佳实践 12.6.1. 标准的,可重用的套件描述符 12.6.2. 分发(聚合)套件 12.7. 总结 13. 属性和资源过滤 13.1. 简介 13.2. Maven属性 13.2.1. Maven项目的属性 13.2.2. Maven的Settings属性 13.2.3. 环境变量属性 13.2.4. Java系统属性 13.2.5. 用户定义的属性 13.3. 资源过滤 14. Maven和Eclipse: m2eclipse 14.1. 简介 14.2. m2eclipse 14.3. 安装 m2eclipse 插件 14.3.1. 安装前提条件 14.3.1.1. 安装 Subclipse 14.3.1.2. 安装 Mylyn 14.3.1.3. 安装 AspectJ Tools Platform (AJDT) 14.3.1.4. 安装 Web Tools Platform (WTP) 14.3.2. 安装 m2eclipse 14.4. 开启 Maven 控制台 14.5. 创建一个 Maven 项目 14.5.1. 从 SCM 签出一个 Maven 项目 14.5.2. 用Maven Archetype创建一个Maven项目 14.5.3. 创建一个 Maven 模块 14.6. 创建一个Maven POM文件 14.7. 导入Maven项目 14.7.1. 导入一个Maven项目 14.7.2. 具体化一个Maven项目 14.8. 运行Maven构建 14.9. 使用Maven进行工作 14.9.1. 添加及更新依赖或插件 14.9.2. 创建一个Maven模块 14.9.3. 下载源码 14.9.4. 打开项目页面 14.9.5. 解析依赖 14.10. 使用Maven仓库进行工作 14.10.1. 搜索 Maven 构件和 Java 类 14.10.2. 为Maven仓库编制索引 14.11. 使用基于表单的POM编辑器 14.12. 在m2eclipse中分析项目依赖 14.13. Maven 选项 14.14. 小结 15. 站点生成 15.1. 简介 15.2. 使用Maven构建项目站点 15.3. 自定义站点描述符 15.3.1. 自定义页面端图片 15.3.2. 自定义导航菜单 15.4. 站点目录结构 15.5. 编写项目文档 15.5.1. APT样例 15.5.2. FML样例 15.6. 部署你的项目web站点 15.6.1. 配置服务器认证 15.6.2. 配置文件和目录模式 15.7. 自定义站点外观 15.7.1. 自定义站点CSS 15.7.2. 创建自定义的站点模板 15.7.3. 可重用的web站点皮肤 15.7.4. 创建自定义的主题CSS 15.7.5. 在皮肤中自定义站点模板 15.8. 提示与技巧 15.8.1. 给HEAD嵌入XHTML 15.8.2. 在你站点logo下添加链接 15.8.3. 为你的站点添加导航链接 15.8.4. 添加项目版本 15.8.5. 修改发布日期格式和位置 15.8.6. 使用Doxia宏 16. 仓库管理器 16.1. 简介 16.1.1. Nexus历史 16.2. 安装Nexus 16.2.1. 从Sonatype下载Nexus 16.2.2. 安装Nexus 16.2.3. 运行Nexus 16.2.4. 安装后检查单 16.2.5. 为Redhat/Fedora/CentOS设置启动脚本 16.2.6. 升级Nexus版本 16.3. 使用Nexus 16.3.1. 浏览仓库 16.3.2. 浏览组 16.3.3. 搜索构件 16.3.4. 浏览系统RSS源 16.3.5. 浏览日志文件和配置 16.3.6. 更改你的密码 16.4. 配置Maven使用Nexus 16.4.1. 使用Nexus中央代理仓库 16.4.2. 使用Nexus作为快照仓库 16.4.3. 为缺少的依赖添加仓库 16.4.4. 添加一个新的仓库 16.4.5. 添加一个仓库至一个组 16.5. 配置Nexus 16.5.. 定制服务器配置 16.5.2. 管理仓库 16.5.3. 管理组 16.5.4. 管理路由 16.5.5. 网络配置 16.6. 维护仓库 16.7. 部署构件至Nexus 16.7.1. 部署发布版 16.7.2. 部署快照版 16.7.3. 部署第三方构件 17. 编写插件 17.1. 简介 17.2. Maven编程 17.2.1. 什么是反转控制? 17.2.2. Plexus简介 17.2.3. 为什么使用Plexus? 17.2.4. 什么是插件? 17.3. 插件描述符 17.3.1. 层插件描述符元素 17.3.2. Mojo配置 17.3.3. 插件依赖 17.4. 编写自定义插件 17.4.1. 创建一个插件项目 17.4.2. 一个简单的Java Mojo 17.4.3. 配置插件前缀 17.4.4. 插件中的日志 17.4.5. Mojo类注解 17.4.6. 当Mojo失败的时候 17.5. Mojo参数 17.5.1. 为Mojo参数提供值 17.5.2. 多值的Mojo参数 17.5.3. 依赖于一个Plexus组件 17.5.4. Mojo参数注解 17.6. 插件和Maven生命周期 17.6.1. 执行平行的生命周期 17.6.2. 创建自定义的生命周期 17.6.3. 覆盖默认生命周期 18. 使用可选语言编写插件 18.1. 使用Ant编写插件 18.2. 创建一个Ant插件 18.3. 使用JRuby编写插件 18.3.1. 创建一个JRuby插件 18.3.2. Ruby Mojo实现 18.3.3. Ruby Mojo中使用日志 18.3.4. Raise一个MojoError 18.3.5. 在JRuby中引用Plexus组件 18.4. 使用Groovy编写插件 18.4.1. 创建一个Groovy插件 A. 附录: Settings细节 A.1. 简介 A.2. Settings细节 A.2.1. 简单值 A.2.2. 服务器(Servers) A.2.3. 镜像(Mirrors) A.2.4. 代理(Proxies) A.2.5. Profiles A.2.6. 激活(Activation) A.2.7. 属性(Properties) A.2.8. 仓库(Repositories) A.2.9. 插件仓库 A.2.10. 激活的Profile B. 附录: Sun规格说明可选实现 List of Figures List of Examples
用户评论
好东西,谢谢分享
很好,不错的资源
好东西,比较清晰
还可以,值得一看,比较清晰
谢谢分享!
好东西,感谢分享
找了好久的学习资料,不错,很清晰,还有目录,赞
很不错的资料,感谢分享~
看着还行,作为参考资料用
很不错的资料,感谢分享