第一范文网 - 专业文章范例文档资料分享平台

Maven课程3

来源:用户分享 时间:2025/8/5 15:10:51 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

依赖管理配置: (1)依赖配置(

dependencies 可以包含一个或者多个 dependency元素,以声明一个或多个项目依赖 , 其包含的元素:

groupId 、artifactId 、 version:依赖的基本坐标,对于任何一个依赖来说,基本的坐标是最重要的, Maven 是根据坐标来找到需要的依赖。

type: 依赖的类型,指定依赖框架或依赖类库的类型,该元素的默认值是jar。另外,还可以指定war、ejb-client、test-jar等值 scope: 依赖的范围

optional: 标记依赖是否可选(参见可选性依赖) exclusions: 用来排除传递性依赖(参见依赖的传递性) 依赖范围详解:(依赖范围:依赖起作用的范围) Maven在编译项目主代码的时候需要使用一套classpath Maven在编译和执行测试的时候会使用另外一套classpath Maven在实际运行项目的时候又会使用一套classpath

依赖范围就是用来控制依赖与这三种classpath(编译classpath、测试classpath、运行classpath)的关系

Maven的6种依赖范围:

compile: 编译依赖范围(默认),对于编译、测试、运行三种classpath都有效 test: 测试依赖范围,只对测试classpath有效。典型范例:Junit

provided: 已提供依赖范围对于编译和测试classpath有效,但在运行时无效。典型范例:servlet-api runtime: 运行时依赖范围对于测试和运行classpath有效,但在对编译主代码时无效。典型范例:JDBC

system: 系统依赖范围

import: (maven2.0.9及以上): 导入依赖范围,它不会对三种实际的classpath产生影响。继承父POM文件中用dependencyManagement配置的依赖,import范围只能在dependencyManagement元素中使用(为了解决多继承)

< dependency>

< groupId> org.dayatang.dddlib < artifactId> dddlib-ioc-spring < version> ${dddlib.version}

< dependency>

< groupId> org.dayatang.dddlib

< artifactId> dddlib-persistence-hibernate

< version> ${dddlib.version}

(2)依赖管理 (8.3.3 P150)

Maven提供了dependencyManagement元素帮助管理依赖,既能让子模块继承到父模块的依赖配置,又能保证子模块依赖的灵活性。使用dependencyManagement声明的依赖既不会给父模块引入依赖,也不会给它的子模块引入依赖,不过这段配置是会被子模块继承的,它能够约束dependencies下的依赖使用。在父POM中配置完整的依赖声明,子模块只需要配置简单的groupId和artifactId就能获得对应的依赖信息,从而引入正确的依赖配置。这种依赖管理机制似乎不能减少太多的POM配置,不过还是强烈推荐这种方法。主要原因是在父POM中声明之后,子模块在使用依赖的时候就无需声明版本,也就不会发生多个子模块使用依赖版本不一致的情况,可以帮助降低依赖冲突的机率。

如果子模块不声明依赖的使用,即使该依赖已经在父POM的dependencyManagement中声明了,也不会产生任何实际的效果。与插件管理配置是一个道理。 < dependencyManagement> < dependencies> < dependency>

< groupId> javax.inject < artifactId> javax.inject < version> 1

< dependency>

< groupId> javax.mail < artifactId> mail < version> 1.4.7

< dependency>

< groupId> com.csot.commons

< artifactId> csot-commons-domain

< version> ${csot.commons.version}

< dependency>

< groupId> com.csot.security

< artifactId> csot-security- shiro

< version> ${csot.commons.version} 子模块使用:

junit junit test

org.dayatang.dddlib

dddlib-query-channel

org.hibernate

hibernate-core

org.javassist javassist

org.springframework spring-context

搜索更多关于: Maven课程3 的文档
Maven课程3.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c41p8k8ip0n6h1tw45fj2_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top