springboot 连接hive的坑

本地运行时倒是没啥问题,一上线启动接连报错。网上各种找答案,本质上还是依赖冲突报错,不知道使用哪个具体类

Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;

The following method did not exist:

    javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;

The method's class, javax.servlet.ServletContext, is available from the following locations:

    jar:file:/css-web.jar!/BOOT-INF/lib/javax.servlet-3.0.0.v201112011016.jar!/javax/servlet/ServletContext.class
    jar:file:/css-web.jar!/BOOT-INF/lib/servlet-api-2.4.jar!/javax/servlet/ServletContext.class
    jar:file:/css-web.jar!/BOOT-INF/lib/servlet-api-2.5-6.1.14.jar!/javax/servlet/ServletContext.class
    jar:file:/css-web.jar!/BOOT-INF/lib/tomcat-embed-core-9.0.21.jar!/javax/servlet/ServletContext.class
    jar:file:/css-web.jar!/BOOT-INF/lib/javax.servlet-api-3.1.0.jar!/javax/servlet/ServletContext.class

It was loaded from the following location:

    jar:file:/css-web.jar!/BOOT-INF/lib/javax.servlet-3.0.0.v201112011016.jar!/

上述是多版本 servlet-api 的jar报错,做法就是排除依赖

参考: https://www.cnblogs.com/lvbinbin2yujie/p/10726122.html

java.lang.ClassNotFoundException: org.apache.jsp.index_jsp

这个报错是依赖中的 jsp-api.jar 与tomcat中的冲突,排除依赖

java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()

同上,jasper-runtime冲突

最终修改

 <dependency>
     <groupId>org.apache.hive</groupId>
     <artifactId>hive-jdbc</artifactId>
     <version>2.1.1</version>
     <exclusions>
         <exclusion>
             <artifactId>servlet-api</artifactId>
             <groupId>javax.servlet</groupId>
         </exclusion>
         <exclusion>
             <artifactId>servlet-api-2.5</artifactId>
             <groupId>org.mortbay.jetty</groupId>
         </exclusion>
         <exclusion>
             <artifactId>javax.servlet</artifactId>
             <groupId>org.eclipse.jetty.orbit</groupId>
         </exclusion>
         <exclusion>
             <artifactId>geronimo-jaspic_1.0_spec</artifactId>
             <groupId>org.apache.geronimo.specs</groupId>
         </exclusion>
         <exclusion>
             <artifactId>jsp-api</artifactId>
             <groupId>javax.servlet</groupId>
         </exclusion>
         <exclusion>
             <artifactId>jsp-api</artifactId>
             <groupId>javax.servlet.jsp</groupId>
         </exclusion>
         <exclusion>
             <artifactId>jsp-2.1</artifactId>
             <groupId>org.mortbay.jetty</groupId>
         </exclusion>
         <exclusion>
             <artifactId>jsp-api-2.1</artifactId>
             <groupId>org.mortbay.jetty</groupId>
         </exclusion>
         <exclusion>
             <artifactId>jasper-compiler</artifactId>
             <groupId>tomcat</groupId>
         </exclusion>
         <exclusion>
             <artifactId>jasper-runtime</artifactId>
             <groupId>tomcat</groupId>
         </exclusion>

     </exclusions>
 </dependency>
  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值