本地运行时倒是没啥问题,一上线启动接连报错。网上各种找答案,本质上还是依赖冲突报错,不知道使用哪个具体类
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.classjar:file:/css-web.jar!/BOOT-INF/lib/servlet-api-2.4.jar!/javax/servlet/ServletContext.classjar:file:/css-web.jar!/BOOT-INF/lib/servlet-api-2.5-6.1.14.jar!/javax/servlet/ServletContext.classjar:file:/css-web.jar!/BOOT-INF/lib/tomcat-embed-core-9.0.21.jar!/javax/servlet/ServletContext.classjar:file:/css-web.jar!/BOOT-INF/lib/javax.servlet-api-3.1.0.jar!/javax/servlet/ServletContext.classIt 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>