我使用spring-data-hadoop编写了一个hadoop MR作业,并使用maven-shade-plugin打包了所有必要的jar。但是,当我从命令行:hadoop jar运行作业时,它为spring-beans的ClassNotFound提供了异常。加载spring应用程序上下文时出现问题。在那之后,我使用maven-assembly-plugin并将所有需要的jar打包到一个lib文件夹中。这一次它起作用了。
我不明白为什么maven-shade-plugin会失败。有人能帮我理解我的观察结果吗。
发布于 2014-07-18 20:26:45
我不知道你是如何使用阴影插件的,但我想你可能会遇到像META-INF/spring.handlers和META-INF/spring.schemas这样的元信息的麻烦,它们在所有的spring jars中都有相同的路径。
发布于 2015-01-31 03:22:40
来自http://maven.apache.org/plugins/maven-shade-plugin/
这个插件提供了将工件打包到uber-jar中的功能,包括它的依赖项,以及对一些依赖项的包进行着色(即重命名)。
我猜你的shade插件的配置已经重命名了一些包,这样就不能再找到类文件。
https://stackoverflow.com/questions/24748774
复制相似问题