본문 바로가기

Issue

[Java] java.io.NotSerializableException 오류 해결

반응형

 

⌗ 오류 현상


Caused by: java.io.NotSerializableException:
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
… 

⌗ 해결 방법


1 )  class A implements Serializable

   Serializable 구현 누락되어 발생한다.

   객체를 통신 및 저장 하기 위해선 반드시 Serializable 를 구현 해야한다.

 

2 ) java.io.NotSerializableException: #{패키지.클래스}

   #{패키지.클래스}가 직렬화 시킨 클래스 안에 들어가있는지 확인 해봐야한다.

   위 클래스에 Serializable 을 구현 하거나, 불필요한 클래스라면 빼주면 해결된다.

 

 

필자는 종속된 class 끼리 Serializable 구현이 누락되어 발생했다.

 

class A extend B implements Serializable 
{...}

class B ⇢ 여기 클래스에 Serializable 이 구현되어있지 않았다..
{...}

 

 

반응형

❥ CHATI Github