<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>${spark.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
</exclusions>
</dependency>
Maven依赖冲突解决之exclusions1. 背景作为java生态下开发者,往往需要使用大量线程的第三方库,一般都是以jar包形式存在。maven作为事实上主流的jar包依赖管理工具,Idea和Eclipse都支持创建maven工程来管理jar包依赖。使用maven进行jar包依赖管理时,maven会自行管理jar包及其依赖链条,但往往会遇到依赖冲突问题,这时候就可以尝试使用exclusion来进行依赖管理。2. 解决方式场景假如hadoop集群中hadoop版本是3.2.1,这
SpringBootApplication的exclude不生效问题排查
在ManApplication上添加了SpringBootApplication中配置了exclude={org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchAutoConfiguration.class}
但是在启动过程了ElasticsearchAutoConfiguration还是加载了,使用配置文件的方式就可以避免加载。
1 这个标签的作用是排除关联依赖的引入,因为maven的pom依赖其中
有一点是将关联的依赖全都引入进来
2 这个标签在这的作用就是 如果关联的依赖和引入的其他依赖可能存在冲突,
就必须将关联的依赖排除掉,所以就用这个标签。
3 另外这个+s的,大家应该也明白 ,就是可以包含多个吗!!!!
依赖关系:Project-A>Project-B>Project-C,但是Project-A不依赖Project-C,在Project-A中的POM.xml应该进行
1 这个标签的作用是排除关联依赖的引入,因为maven的pom依赖其中
有一点是将关联的依赖全都引入进来
2 这个标签在这的作用就是 如果关联的依赖和引入的其他依赖可能存在冲突,
就必须将关联的依赖排除掉,所以就用这个标签。
文章来源: Import Dependency Management with Exclusion
Exclusion at import won’t work, try excluding it from the actual user of the dependency
在dependencyManagement里面的dependency中,使用exclusions,是不会有作用的。需要在实际使用的地方,去添加exclusions。
maven官方有下面一段话:
https://maven.a
1。不知道为什么配置文件[xmlymlproperties]不生效。[可能是java路径也可能是resource路径]
2。Maven项目配置文件 不实时更新
3。非resource路径下的配置文件不生效
1.把Maven打包方式换成打jar包
pom.xml修改打包方式
<groupId>com.biturd</groupId>
<artifactId>logStudy</artifactId>
1.compile:默认值 他表示被依赖项目需要参与当前项目的编译,还有后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去
2.test:依赖项目仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包,例如:junit
3.runtime:表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过了编译而已。例如JDBC驱动,适用运行和测试阶段
4.provided:打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可.
xclusions
但依赖调节并不解决所有问题,我们还需要exclusions来进行排除依赖。
例如这样一个情况,工程中引入了A,A依赖B,但是B的版本过旧。
此时可以使用exclusions排除该传递性依赖,并显示声明一个最新版本的B依赖。
比如这样:
&amp;lt;dependency&amp;gt;
&amp;lt;groupId&amp;gt;com.lowagie&amp;lt;/groupId
1、什么是依赖传递
在maven中,依赖是可以传递的,假设存在三个项目,分别是项目A,项目B以及项目C。假设C依赖 B,B依赖A,那么我们可以根据maven项目依赖的特征不难推出项目C也依赖A。
2、什么是依赖冲突
由于依赖传递现象的存在, 如spring-webmvc 依赖 spirng-beans-5.1.5,spring-aop 依赖 springbeans-5.1.6,但是发现 spirng-beans-5.1.5 加入到了工程
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
Hive错误之 Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask错误分析
42003