【问题标题】:How to find from which JAR , class loader is trying to load a specific class?如何从哪个 JAR 中查找类加载器正在尝试加载特定类?
【发布时间】:2020-06-02 12:34:37
【问题描述】:

我们的 spark 作业在 spark 集群上运行,但是在 spark 执行器尝试运行 spark 作业期间看到 class not found 异常,事情很确定包含该类的 jar 已加载,所以我不明白为什么会这样异常来了,类加载器是否试图加载一些不同的 jar?如果是,他们在看哪个罐子?

【问题讨论】:

  • 你能分享你的 spark-submit 命令吗?
  • 还有错误日志。
  • 它是在类路径上还是在模块中运行,或者两者兼而有之?类路径上与模块中的包发生冲突的任何包都将被忽略。

标签: java apache-spark classnotfoundexception


【解决方案1】:

我猜你可以使用-verbose:class 来启动你的应用程序并查看详细日志 How to Use Verbose Options in Java

[Opened C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar]
[Loaded java.lang.Object from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar]
[Loaded java.io.Serializable from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar]
[Loaded java.lang.Comparable from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar]
[Loaded java.lang.CharSequence from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar]
..............................................................................
..............................................................................
..............................................................................
[Loaded java.lang.Void from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar]
[Loaded java.lang.Shutdown from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar]
[Loaded java.lang.Shutdown$Lock from C:\Program Files\Java\jdk1.7.0_04\jre\lib\rt.jar]

【讨论】:

    猜你喜欢
    • 2011-01-11
    • 2017-05-24
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-31
    相关资源
    最近更新 更多