我不明白,因为该方法存在于类选项
中,而类选项
是从commons-cli.jar
提取到我的应用程序JAR中的。而且,我的其他库没有这个问题。
谢谢你抽出时间。
这个问题似乎与classloader
如何加载类有关。因为静态构建器类
位于公共-CLI 1.4
中,而一些Hadoop
依赖项仍然引用旧版本,所以出现了这个问题。
在我的例子中,通过在程序执行前更改将jar文件添加到负责设置环境的shell脚本中的类路径的顺序,问题得到了解决。早些时候,我将jar添加到类路径中,如
CLASSPATH=<Hadoop Jars>:<Common CLI jar>:$CLASSPATH
更改为
CLASSPATH=<Common CLI jar>:<Hadoop Jars>:$CLASSPATH