我使用spring-data-hadoop编写了一个hadoop MR作业,并使用maven-shade-plugin打包所有必需的jar。 但是当我从命令行运行这个工作:hadoop jar时,它为Spring-beans提供了ClassNotFound的Exception。 加载spring应用程序上下文导致的问题。 之后我使用了maven-assembly-plugin并在lib文件夹中打包了所有必需的jar。这次它奏效了。
我无法理解为什么maven-shade-plugin失败了。有人可以帮我理解我的观察。
答案 0 :(得分:0)
我不知道您是如何使用阴影插件的,但我认为您可能会遇到像META-INF/spring.handlers
和META-INF/spring.schemas
这样的元信息在所有弹簧罐中都有相同路径的问题。< / p>
答案 1 :(得分:0)
来自http://maven.apache.org/plugins/maven-shade-plugin/
这个插件提供了将工件打包在超级jar中的功能,包括它的依赖关系和阴影 - 即重命名 - 一些依赖项的包。
我猜你的阴影插件的配置已经重命名了一些包,以至于无法再找到类文件。