농부와 컴퓨터/PROGRAMMING

[2006.10.16 (월) 맑음] JDK 5, [serial] serializable class <CLASSNAME> ha no definition of ser

금오귤림원 2006. 10. 16. 02:24

JDK 5 ( J2SE 1.5 SDK) Compile - ( Compile option -Xlint )
---------------------------------------------------------

warning: [serial] serializable class <CLASSNAME> has no definition of serialVersionUID

-----------------------------

모든 java beans 객체는 serialVersionUID 를 가집니다.
이건 jvm 에서 특정 객체를 인식하기 위한 UID 이기도 합니다만,
java beans 에서 serialVersionUID를 명시하지 않았다면,
JVM은 serialVersionUID 를 제네레이션 해서 관리합니다.

하지만, 1.5 부턴 serialVersionUID를 명시하길 권고하고 있습니다.
serialVersionUID 은 롱 타입의 값 입니다.

private static final long serialVersionUID = 1122179082713735624L;  // 여기에 유일한 값을 대입하시면 됩니다.


=====================================================================================================

searialVersionUID

-------------------------------

jdkhome/bin 의 serialver.exe를 통해서 생성가능합니다. serialver yourclass 하면되죠 물론 yourclass는 직렬화를 구현해야합니다. serialver이 해당 클래스의 메소드명, 필드명, 등등의 정보를 통해 해당 클래스의 유일한 정수값을 돌려줍니다.