Hadoop maven shade插件vs maven assembly插件

Hadoop maven shade插件vs maven assembly插件,hadoop,maven-assembly-plugin,classnotfound,maven-shade-plugin,spring-data-hadoop,Hadoop,Maven Assembly Plugin,Classnotfound,Maven Shade Plugin,Spring Data Hadoop,我使用SpringDataHadoop编写了一个HadoopMR作业,并使用maven shade插件打包了所有必要的jar。 但当我从ComandLine:HadoopJAR运行这个作业时,它给了我一个Springbeans的ClassNotFound例外。 导致加载spring应用程序上下文时出现问题。 之后,我使用maven assembly插件并将所有必需的JAR打包到一个lib文件夹中。这次成功了 我不明白为什么maven shade插件失败了。有人能帮我理解我的观察结果吗。我不知道你

我使用SpringDataHadoop编写了一个HadoopMR作业,并使用maven shade插件打包了所有必要的jar。 但当我从ComandLine:HadoopJAR运行这个作业时,它给了我一个Springbeans的ClassNotFound例外。 导致加载spring应用程序上下文时出现问题。 之后,我使用maven assembly插件并将所有必需的JAR打包到一个lib文件夹中。这次成功了


我不明白为什么maven shade插件失败了。有人能帮我理解我的观察结果吗。

我不知道你是如何使用shade插件的,但我认为你可能会遇到诸如
meta-INF/spring.handlers
meta-INF/spring.schemas
之类的元信息问题,它们在所有spring jar中都有相同的路径。

来自

该插件提供了将工件打包到uber jar中的功能,包括其依赖项,并对某些依赖项的包进行着色(即重命名)

我猜你对shade插件的配置已经重命名了一些包,这样类文件就找不到了