我正在运行一个包含较新版本的Guava的Hadoop作业的
some trouble,而不是Hadoop发行版中包含的版本(CDH 5.2).这是一个已知问题.我尝试使用Maven shade插件解决它
by shading the libraries.因此,我在pom.xml中添加了以下行:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.3</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <relocations> <relocation> <pattern>com.google</pattern> <shadedPattern>thirdparty.com.google</shadedPattern> </relocation> </relocations> </configuration> </execution> </executions> </plugin>
不幸的是,阴影似乎不起作用.当我提取uber-JAR时,没有文件夹thirdparty / com / google,但仍然是com / google文件夹.
有人知道出了什么问题吗?
解决方法
这对我有用:
<relocations> <relocation> <pattern>com.google.</pattern> <shadedPattern>thirdparty.com.google.</shadedPattern> </relocation> </relocations>
注意图案末尾的点.