Spring Boot里面引入hive-jdbc包出错怎么办

这篇文章给大家分享的是有关Spring Boot里面引入hive-jdbc包出错怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

SpringBoot 版本不管多少, 只要引入了hive-jdbc, 他指定会让你jar包冲突, 因为不是内嵌tomcat问题,就是和tomcat jar包冲突

遇到了大坑,所以在这里记录下,让各位不要遇到这种问题了

当时只解决了使用SpringBoot内嵌tomcat的错误

Andot蚁点:Spring boot 整合Hive-jdbc导致无法启动的问题zhuanlan.zhihu.comSpring Boot里面引入hive-jdbc包出错怎么办

这次使用tomcat进行启动的时候,有遇到了错误

tomcat 作为容器进行启动的时候爆出的错误

Spring Boot里面引入hive-jdbc包出错怎么办

上面这个错误tomcat8.0启动会报这个错误

tomcat8.5会报这个错误

Caused by: java.lang.StackOverflowError at org.apache.logging.log4j.spi.Logg

就是因为引入了这个jar包

<dependency>
			<groupId>org.apache.hive</groupId>
			<artifactId>hive-jdbc</artifactId>
			<version>3.1.1</version>
</dependency>

这个Hive-jdbc的jar包中,引入了很多的jar包,所以要是冲突了需要把个别的冲突jar包进行排除掉

<!-- support dmp datasource driver hive -->
		<dependency>
			<groupId>org.apache.hive</groupId>
			<artifactId>hive-jdbc</artifactId>
			<version>3.1.1</version>
			<exclusions>
				<exclusion>
					<groupId>ch.qos.logback</groupId>
					<artifactId>logback-classic</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.logging.log4j</groupId>
					<artifactId>log4j-slf4j-impl</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-log4j12</artifactId>
				</exclusion>
                <exclusion>
					<groupId>org.eclipse.jetty</groupId>
					<artifactId>*</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.eclipse.jetty.orbit</groupId>
					<artifactId>*</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.eclipse.jetty.aggregate</groupId>
					<artifactId>*</artifactId>
				</exclusion>
				<exclusion>
					<groupId>tomcat</groupId>
					<artifactId>*</artifactId>
				</exclusion>
				<exclusion>
					<groupId>javax.servlet</groupId>
					<artifactId>servlet-api</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.mortbay.jetty</groupId>
					<artifactId>*</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

以上之后重新打包,tomcat启动成功!

===============2019年5月8日08:48:04更新===============

最后再说一句:如果你只需要hive-jdbc这个jar包

请这样写

<dependency>
			<groupId>org.apache.hive</groupId>
			<artifactId>hive-jdbc</artifactId>
			<version>3.1.1</version>
			<exclusions>
				<exclusion>
					<groupId>*</groupId>
					<artifactId>*</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

排除所有其他无关jar包

感谢各位的阅读!关于“Spring Boot里面引入hive-jdbc包出错怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!