有没有一种方法可以运行需要类路径的烫伤作业,而无需使用 libjars 并明确编写每个 jar 以逗号分隔。
我想把我所有的罐子放在一个 lib 中,而不是只写 -libjars=./lib/* 而不是所有的罐子。
有没有经典的方法??
使用烫伤版本 scalding-core_2.10 0.8.5
hadoop 版本 2.0.0-cdh4.5.0
PS我正在使用maven来打包jar和lib
您应该创建一个“fat jar”,其中包含您将使用 libjars 添加的依赖项以及主类。一个 jar 中具有 Scalding 和依赖项的 sbt 项目的具体示例可以在此处查看。mvn assembly:first
在 Maven 中,您应该使用(如果我记得的话)添加“程序集插件”和包。预计上述两种方法都不会容易,因为如果您要使用 cloudera jars 中已经存在的其他 jars(例如,具有不同版本),您将有依赖地狱。几年前我写过类似的东西,你可以试试,虽然它可能已经过时了。