【发布时间】:2016-03-12 01:50:37
【问题描述】:
假设一个类路径上有两个不同库版本的 jar,例如
java -cp A-2.1.jar:A-2.2.jar ...
第一个和第二个jar中的包名和类名相同,但类实现不同。是否指定 root jvm 类加载器是否会在 A-2.2 之前尝试在 A-2.1 中查找类?
问题在于 AWS EMR 将 hadoop jar 添加到类路径中,并且它的一些依赖项属于旧版本。但是,我们的应用程序需要使用相同库的新版本,那么在类路径之前添加新版本的库就足够了,或者在这种情况下是否推荐使用阴影? http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-hadoop-config_hadoop-user-env.sh.html
【问题讨论】:
标签: java hadoop classpath classloader emr