今天做UT,发现一个NoSuchMethod的Error.
原因是Hive.exec把版本11的guava打了进去。
这种问题一般都是由编译和运行不一样导致的。
想吧classpath输出出来,试了下verbose:classes和jps+jinfo,都没搞定。
就直接Object.toStringHelper().omitNullValues();
编译出错,那为什么在UT编译出错呢?
将Guava的在Pom.xml的位置提前..搞定。
为什么项目运行时候没问题呢,
我猜是guava.jar是g开头的……
搜了一下,maven-shade-plugin貌似可以解决这个问题。
那为什么hive要将guava打进去呢?
理解不了
原因是Hive.exec把版本11的guava打了进去。
这种问题一般都是由编译和运行不一样导致的。
想吧classpath输出出来,试了下verbose:classes和jps+jinfo,都没搞定。
就直接Object.toStringHelper().omitNullValues();
编译出错,那为什么在UT编译出错呢?
将Guava的在Pom.xml的位置提前..搞定。
为什么项目运行时候没问题呢,
我猜是guava.jar是g开头的……
搜了一下,maven-shade-plugin貌似可以解决这个问题。
那为什么hive要将guava打进去呢?
理解不了