2014-05-09 7 views
2

저는 Edison (http://cogcomp.cs.illinois.edu/page/software_view/Edison)을 사용하고 있습니다. 큐레이터를 사용하여 지형지 물을 추출하고 TextAnnotation 파일에 저장합니다. 어떻게 파일을 serialize/deserialize 할 수 있습니까? 내가 직접 직렬화하려고하면, 에러를 제공합니다일리노이 에디슨을 사용하여 직렬화/비 직렬화하는 방법

static List<RelInstance> allInstance = ... 
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(".../dataless_rel_srl/dataless-rel/Data/SemEval-2010")); 
oos.writeObject(allInstances); 
oos.close(); 

오류 :

java.io.NotSerializableException: edu.illinois.cs.cogcomp.edison.sentences.SymbolTable 
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180) 
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) 
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) 
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) 
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) 
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) 
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) 
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) 
    at java.util.ArrayList.writeObject(ArrayList.java:710) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:975) 
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480) 
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) 
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) 
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) 
    at edu.illinois.cs.cogcomp.relationsDataless.SemEval2010Reader.saveAllOnDisk(SemEval2010Reader.java:203) 
    at edu.illinois.cs.cogcomp.relationsDataless.SemEval2010Reader.main(SemEval2010Reader.java:52) 
+0

RelInstance이거나 인터페이스 (List)를 직렬화 할 수 없으므로 하나 또는 배열을 직렬화하려고합니다. – weston

+0

아니요, 클래스입니다 : Edison 내부에 edu.illinois.cs.cogcomp.edison.sentences.SymbolTable – Daniel

+0

예외가 발생하는 곳입니다. – weston

답변

1

EdisonSerializationHelper를 사용해보십시오. 이 수업은 당신이하고 싶은 일을 위해 정확히 만들어졌습니다.

관련 문제