本文介绍: SpringBoot版本不管多少,只要引入hivejdbc,他指定会让你jar冲突,因为不是内嵌tomcat问题就是tomcatjar冲突这个Hivejdbcjar包中引入很多jar包,所以要是冲突需要把个别的冲突jar包进行排除掉。最后再说一句如果你只需要hive-jdbc这个jar包。遇到了大坑,所以在这里记录下,让各位不要遇到这种问题了。这次使用tomcat进行启动时候,有遇到错误。上面这个错误tomcat8.0启动会报这个错误就是因为引入了这个jar包。…

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

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

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

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

在这里插入图片描述
上面这个错误tomcat8.0启动会报这个错误

tomcat8.5会报这个错误

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

就是因为引入了这个jar包

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

	<dependency>
		&lt;groupId&gt;org.apache.hive</groupId&gt;
		<artifactId&gt;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.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包

请这样写

org.apache.hive hive-jdbc 3.1.1 * * 排除所有其他无关jar包

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注