maven高级(详细)解析.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
maven高级(详细)解析

Maven开发最佳实践 现场动手 Maven高级主题 仓库管理 骨架生成 插件开发 SCM集成 持续构建 依赖包频繁更新 依赖包冲突 源代码、配置文件、资源文件、生产环境不需要的测试代码鱼龙混杂 编译级别和编译器类型(e.g:Sun JRE vs. IBM JRE) 项目经理如何检查单元测试覆盖率 * * 公用仓库较多:例如、/maven2 LDAP:轻量目录访问协议,拥有用户属性权限数据库 * * -D 表示参数 * 创建WEB工程示例:mvn archetype:create -DgroupId=com.howsun -DartifactId=myWebApp -DarchetypeArtifactId=maven-archetype-webapp -Dversion=0.0.1 * 依赖 依赖配置 <dependency> <groupId>……</groupId> <artifactId>……</artifactId> <version>……</version> <classifier>……</classifier> <scope>……</scope> <type>……</type> <systemPath>……</systemPath> <optional>……</optional> <exclusions></exclusions> </dependency> 依赖配置详细介绍 groupId、artifactId、version是依赖的基本坐标,缺一不可,其它两个坐标元素不指定时将采用默认值 type:依赖的类型, 对应坐标packaging,默认为jar optional:标记依赖是否可选 A->B->C,那么当A依赖于C时就可以设为可选。 exclusions:排除传递依赖 依赖配置详细介绍 scope:依赖范围 compile:编译范围,默认scope,在classpath中存在 provided:已提供范围,比如容器提供Servlet API runtime:运行时范围,编译不需要,接口与实现分离 test:测试范围,单元测试环境需要 system:系统范围,自定义构件,指定systemPath import:导入依赖 依赖范围与ClassPath关系 依赖范围 对于编译classpath 有效 对于测试classpath 有效 对于运行时classpath 有效 例子 compile Y Y Y spring-core test - Y - Junit provided Y Y - servlet-api runtime - Y Y JDBC驱动 system Y Y - 本地的,Maven仓库之外的类库 import导入依赖不会对表中三种classpath起作用 传递性依赖 传递依赖关系表 依赖调解 A->B->C->D->X(1.6) A->D-X(2.0) X是A的传递依赖 调解原则: 第一原则:路径近者优先原则 x2.0传递给A最近 第二原则:第一声明者优先原则 当路径相等时,则由POM声明的依赖顺序决定 依赖优化 排除依赖 归类依赖 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <org.springframework.version>3.0.5.RELEASE</org.springframework.version> <org.slf4j.version>1.6.1</org.slf4j.version> </properties> 在后面的依赖中只需指明version的引用 <version>${org.slf4j.version}</version> 优化依赖 mvn dependency:list //打印出依赖列表 mvn dependency:tree //打印出依赖树 mvn dependency:analyze//分析当前依赖 通过这些工具进行分析后适当优化 多模型开发:继承 通过子项目来继承,可以共享父项目定义的所有的值。比如自定义构建信息,版本仲裁。 特点: 1. 单亲父节点 2. 从叶节点往上定义的 3. 允许覆盖 <parent> <groupId>...</groupId> <artifactId>...</artifactId> <relativePath>...</relativePath> <version>...</version> </parent> 多模型开发:组合 组合:定义一组构建模块的聚集 特点: 1

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档