此代码......
class A implements Serializable{
String str
int n
}
try{
def a= new A(str:'abc', n:7)
def out= new ObjectOutputStream(new FileOutputStream('serializedObject.obj'))
out.writeObject(a)
out.close()
}finally{}
try{
def inp= new ObjectInputStream(new FileInputStream('serializedObject.obj'))
def a2= inp.readObject()
inp.close()
}finally{}
...产生错误......
java.lang.ClassNotFoundException: A
at java_io_ObjectInput$readObject.call(Unknown Source)
at otherRun.run(otherRun.groovy:16)
...尝试在第二个try块中重新加载对象时。当类是预定义的类(如java.util.List)时,它可以正常工作。当将“逐行转换为Java”时,上面的代码也可以正常工作。
如何让它在Groovy中运行?
答案 0 :(得分:4)
将您的“A类”放入其自己的文件中,并确保“A.class”文件在您读取对象时可用(在类路径中)。