我正在将Stanford Parser与pyjnius一起使用。使用pyjnius的autoclass
函数,我可以使用解析器中的java类。但是,当我尝试反序列化具有这些类的内容时,会得到ClassNotFoundException
。反序列化(调用readObject
)时,如何确保jvm可以访问该类?
这很好
ArrayList = autoclass('java.util.ArrayList')
ScoredObject = autoclass('edu.stanford.nlp.util.ScoredObject')
sensTrees = ArrayList()
sensTrees.add(ScoredObject(ArrayList(), 5))
outFile = FileOutputStream('javaParses.ser')
oos = ObjectOutputStream(outFile)
oos.writeObject(sensTrees)
但这会在下面抛出错误
inFile = FileInputStream('javaParses.ser')
ois = ObjectInputStream(inFile)
Docs = ois.readObject() // this line throws the error
错误
java.lang.ClassNotFoundException: edu.stanford.nlp.util.ScoredObject