Grails 在反序列化过程中未找到ClassNotFound

Grails 在反序列化过程中未找到ClassNotFound,grails,Grails,我正在尝试使用jason io序列化/反序列化MyClass实例。jason io库有两个类,JsonWriter和JsonReader,分别执行序列化和反序列化。这两个操作都是从Grails控制器调用的 在序列化过程中,会创建一个JSON对象,其中包含类名。反序列化在Class.forName(“…MyClass”)上失败。类名是正确的 我跟踪了这个问题,发现MyClass的类加载器是(java.net)URLClassLoader,而JsonReader类加载器是(org.codehaus.

我正在尝试使用jason io序列化/反序列化MyClass实例。jason io库有两个类,JsonWriter和JsonReader,分别执行序列化和反序列化。这两个操作都是从Grails控制器调用的

在序列化过程中,会创建一个JSON对象,其中包含类名。反序列化在Class.forName(“…MyClass”)上失败。类名是正确的

我跟踪了这个问题,发现MyClass的类加载器是(java.net)URLClassLoader,而JsonReader类加载器是(org.codehaus.groovy.grails.cli.support)GrailsRootLoader。但我不知道如何解决这个问题

谢谢

这可能链接到。该错误报告中的解决方案是指定类加载器:

def file = new File('thingy.txt')
file.withObjectInputStream(getClass().classLoader){ ois ->
    def yourObject = ois.readObject ( )
} 
withObjectInputStream方法在groovy的其他类中也可用,例如,我成功地将其用于GZIPInputStream的实例。

这可能链接到。该错误报告中的解决方案是指定类加载器:

def file = new File('thingy.txt')
file.withObjectInputStream(getClass().classLoader){ ois ->
    def yourObject = ois.readObject ( )
} 
withObjectInputStream方法在groovy的其他类上也可用,例如,我在GZIPInputStream的实例中成功地使用了它