Java 如何在滚烫的/hadoop作业中运行slimjar,而不在libjars中编写完整的类路径

Java 如何在滚烫的/hadoop作业中运行slimjar,而不在libjars中编写完整的类路径,java,hadoop,jar,maven-3,scalding,Java,Hadoop,Jar,Maven 3,Scalding,有没有一种方法可以运行一个需要类路径的非常重要的作业,而不必使用libjar并将每个jar显式地用逗号分隔 我想把我所有的jar放在一个lib中,而不是只写-libjars=./lib/*而不是所有的jar 有经典的方法吗 使用烫版 烫伤核心_2.10 0.8.5 hadoop版本2.0.0-cdh4.5.0 附言 我使用maven来打包jar和lib,您应该创建一个“胖jar”,其中包含您用libjar添加的依赖项以及主类。 可以在一个jar中查看sbt项目的一个具体示例,该示例具有非常重要的

有没有一种方法可以运行一个需要类路径的非常重要的作业,而不必使用libjar并将每个jar显式地用逗号分隔

我想把我所有的jar放在一个lib中,而不是只写-libjars=./lib/*而不是所有的jar

有经典的方法吗

使用烫版 烫伤核心_2.10 0.8.5

hadoop版本2.0.0-cdh4.5.0

附言
我使用maven来打包jar和lib,您应该创建一个“胖jar”,其中包含您用libjar添加的依赖项以及主类。
可以在一个jar中查看sbt项目的一个具体示例,该示例具有非常重要的特性和依赖性。在Maven中,您应该使用
mvn assembly:first
(如果我记得的话)添加“assembly plugin”和包。以上两种方法都不容易,因为如果要使用cloudera JAR中已经存在的其他JAR(例如,不同版本的JAR),则会产生依赖关系。关于几年前类似的东西,您可以尝试一下,尽管它可能已经过时了。

谢谢Amit,我熟悉胖jar,但我想使用瘦jar,因为我们使用git部署jar,部署多个jar比部署一个胖jar更容易(假设大多数jar没有变化)。就我看来,没有什么经典的方法可以做到这一点。似乎()是问题所在,但它对我没有帮助