【问题标题】:jython java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: org/json/simple/ JSONObjectjython java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: org/json/simple/ JSONObject
【发布时间】:2011-07-31 20:04:19
【问题描述】:

我需要在python中使用java代码来减少,所以我选择了Jython。 过了一会儿,我设法弄清楚如何运行我的代码,但我遇到了最奇怪的事情。 写的时候

from vohmm.corpus import Token;

大多数时候,我会得到一个

java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: org/json/simple/JSONObject

但是,当我再次执行此操作时(有时在 3 次尝试后),它会导入该类,遗漏一些方法,但我可以使用该类。

有人能猜到吗?

谢谢,埃亚尔

【问题讨论】:

    标签: java python jython


    【解决方案1】:

    Jython 在启动时使用缓存机制,基本上会遍历类路径中的所有 jar 并构建包装器。在某些情况下,可能会找到并包装特定的类,而在其他情况下则不是;也许你有很多 jars 并且遇到了一些递归错误或限制。

    在任何情况下,我都会确保包含该特定类的 jar 位于类路径的开头,并明确声明(即使用 -cp C:\path\to\my.jar;%CLASSPATH% ),这样 jython 每次都会很快把它捡起来。

    当然,这是假设您每次都以相同的方式启动 jython。如果不是这种情况,请检查您使用的启动参数(包括起始目录)在所有情况下是否相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-17
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 2019-12-06
      • 2015-06-02
      相关资源
      最近更新 更多