首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

maven可选依赖(Optional Dependencies)和依赖排除(Dependency Exclusions)

我们知道,maven依赖关系是有传递性。如:A-->B,B-->C。但有时候,项目A可能不是必需依赖C,因此需要在项目A中排除对A依赖。...在maven依赖管理中,有两种方式可以对依赖关系进行,分别是可选依赖(Optional Dependencies)以及依赖排除(Dependency Exclusions)。...一、可选依赖 当一个项目A依赖另一个项目B时,项目A可能很少一部分功能用到了项目B,此时就可以在A中配置对B可选依赖。...在编译项目A时,是可以正常通过。 如果有一个新项目X依赖A,即:Project-X -> Project-A。此时项目X就不会依赖项目B了。...二、依赖排除 当一个项目A依赖项目B,而项目B同时依赖项目C,如果项目A中因为各种原因不想引用项目C,在配置项目B依赖时,可以排除对C依赖

5.3K60

Maven精选系列--依赖范围、传递、排除

今天讲讲如何管理依赖,及依赖范围、传递性等特征。 添加依赖 下面我添加了一个spring-web依赖maven就会去下载spring-webjar包及它依赖一些jar包。...provided - 已提供依赖范围。这个范围表示只提供编译和测试阶段有效,运行期间不需要,像tomcat等容器本身已经提供servlet-api等。 runtime - 运行时依赖范围。...Maven2.0.9之后新增范围,只能用在中,并且导入type为pom类型父工程配置,一般用来解决多继承问题。...依赖排除依赖传递过程中,如A依赖B、S2.0,B依赖C、S1.0,这样A就有了S1.0和S2.0两个依赖,这样某些情况下会造成冲突需要手动把B间接传递过来依赖排除掉,就是不依赖B带过来S1.0包...com.test S 排除所有间接依赖

1.2K120

Maven依赖管理 - 引入依赖

Maven依赖管理 - 引入依赖 依赖管理(引入依赖) 1.目标 能够掌握依赖引入配置方式 2.路径 导入依赖 导入依赖练习 依赖范围 3.讲解 3.1导入依赖 导入依赖坐标,无需手动导入jar包就可以引入...在pom.xml中使用标签引入依赖。 做项目/工作里面 都有整套依赖, 不需要背诵. 或者可以去Maven官网找, 复制,粘贴即可....--引入servlet依赖--> <!...打到war包或jar包 provided 编译、和测试有效,A在编译和测试时需要B 例如:servlet-api就是编译和测试有用,在运行时不用(tomcat容器已提供)不会打到war runtime:...里面. tomcat里面有, 如果没有加上provided , 可能会导致jar 冲突 单元测试 建议加上test

1.5K10

maven: 打包可运行jar包(java application)及依赖处理

类,然后用mvn exec:exec来运行,但是部署到生产环境中时,服务器上通常并不具备maven环境,只能用 java -jar xxx.jar这种方式来运行,下面是一些处理细节: 一、依赖处理...java application运行时需要查找依赖第三方jar,如果查找classpath失败,就会报错,可以先用 mvn dependency:copy-dependencies -DoutputDirectory...=target/lib 命令,把依赖jar包全部导出到target/lib这个目录下 二、利用maven-jar-plugin修改META-INF\MANIFEST.MF 清单文件 java application...Main-Class: ctas.importer.reader.app.Program 7 Archiver-Version: Plexus Archiver 其中第4行指定了classpath,也就是所依赖...,这样mvn package后,清单文件里就会自动添加Main-Class和Class-Path这二 ok了,部署时把jar包和lib目录,都上传到服务器上 ,然后测试一下,顺利的话 java -jar

1.9K90

MAVEN依赖优先原则

Maven 依赖可以分为如下几部分: 直接依赖,就是本项目 dependencies 部分依赖 间接依赖,就是本项目 dependencies 部分依赖所包含依赖 依赖管理,就是本项目 dependency...:bom 就是工程项目中最外层主 POM ,也就是 dependencyManagement 那个 POM 一、 MAVEN 依赖三大原则 1.1 最短路径优先原则 Maven 依赖遵循最短路径优先原则...三、Maven 依赖加载流程 Maven 依赖加载流程如下 首先,将 parent 直接依赖,间接依赖,还有依赖管理,插入本项目,放入本项目的直接依赖,间接依赖还有依赖管理之前。...可用文中 1.1 做示例如下: 四、总结 本次主要讲解了 maven 依赖包含几大部分,以及 maven 依赖三大原则,并且对每种依赖原则都做了具体图解和示例,方便我们可以直接在项目中运行调试。...最后讲解了 maven 加载包进入项目中整个流程,并按照文中 1.1 所讲“最短路径优先原则“做为示例图解,进而加深对 maven 加载包流程理解。

1.2K42

tomcat java_tomcatmaven区别

缓存 什么是缓存[Cache] 存在内存中临时数据 将用户经常查询数据放在缓存(内存)中,用户去查询数据时候就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统性能问题...为什么使用缓存 减少和数据库数据交换次数,较少系统开销,提高系统效率 什么样数据库能使用缓存 经常查询并且不经常改变数据 Mybatis缓存 MyBatis 内置了一个强大事务性查询缓存机制...默认情况下,只启用了本地会话缓存,它仅仅对一个会话中数据进行缓存。...查询不同情况 2. 增删改操作,可能会改变原来数据,所以必定会刷新缓存 3. 查询不同Mapper.xml 4....如果当前会话关闭了,这个会话对应一级缓存就没了,但是我们想要是,会话全关闭了,一级缓存中数据被保存到二级缓存中 新会话查询到信息,就可以从二级缓存中获取内容 不同mapper查询出来结果会放在自己缓存中

37640

tomcat java_maventomcat关系

缓存 什么是缓存[Cache] 存在内存中临时数据 将用户经常查询数据放在缓存(内存)中,用户去查询数据时候就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统性能问题...为什么使用缓存 减少和数据库数据交换次数,较少系统开销,提高系统效率 什么样数据库能使用缓存 经常查询并且不经常改变数据 Mybatis缓存 MyBatis 内置了一个强大事务性查询缓存机制...默认情况下,只启用了本地会话缓存,它仅仅对一个会话中数据进行缓存。...查询不同情况 2. 增删改操作,可能会改变原来数据,所以必定会刷新缓存 3. 查询不同Mapper.xml 4....如果当前会话关闭了,这个会话对应一级缓存就没了,但是我们想要是,会话全关闭了,一级缓存中数据被保存到二级缓存中 新会话查询到信息,就可以从二级缓存中获取内容 不同mapper查询出来结果会放在自己缓存中

39820
领券