我需要在python中使用Java代码来减少操作,因此我选择了Jython。一段时间后,我设法弄清楚了如何运行我的代码,但是我遇到了最奇怪的事情。当我写
from vohmm.corpus import Token;
大多数时候,我会得到一个
java.lang.NoClassDefFoundError:java.lang.NoClassDefFoundError:org / json / simple / JSONObject
但是,当我再次执行此操作时(有时经过3次尝试),它将导入该类,但缺少一些方法,但是我可以使用该类。
有人能弄清楚吗?
谢谢,Eyal
Jython在启动时会使用缓存机制,基本上会遍历类路径中的所有jar并构建包装器。在某些情况下,可能找到并包装了特定的类,而在另一些情况下,则没有找到并包装了该类。也许您有很多罐子,并且遇到了一些递归错误或限制。
无论如何,我都将确保包含该特定类的jar在您的类路径的开头,并进行明确声明(即,使用-cp C:\ path \ to \ my.jar;%CLASSPATH%),以便jython每次都会很快拿起它。
当然,这假设您每次都以相同的方式启动jython。如果不是这种情况,请检查所有情况下所使用的启动参数(包括起始目录)是否相同。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句