Exception in thread “main” java.lang.NoSuchFieldError: JAVA_9
经过很久的排查,发现引起该错误的原因是Maven里面的hive-exec版本太低了,记住一点,一旦引发这个错误就去优先排查依赖的版本,是否跟集群搭建的一致。我自己的问题是hive的版本问题导致的,我在检索该问题的时候,发现很多人的问题是少了Hadoop-common依赖和client-core导致的,但是我出现该问题的原因确实hive的版本过低,因此,出现类似问题,先检查依赖的版本有没有问题。
<!-- hadoop-common -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.2</version>
</dependency>
<!-- hadoop-mapreduce-client-core -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-core</artifactId>
<version>2.7.2</version>
</dependency>
我之前的hive版本是1.6的,但是我Linux集群部署的是2.3的hive,所以我需要换成与之一致的版本
<!-- hive-exec -->
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>2.3.0</version>
</dependency>