eclipse(Ganymede)で、
シリアライズ可能クラス Hoge は long 型の static final serialVersionUID フィールドを宣言していません
と怒られた。
クラス Hoge は implements Serializable なクラス。
こんな感じでユニークかつテキトーな値を定義すればよい。
private static final long serialVersionUID = 1234551229936403487L;
eclipseでは、警告をダブルクリックしてソースを開いて、Ctrl+1を押下し、「生成シリアル・バージョンIDの追加」を選択すると、よきにはからってくれる。
eclipseって便利だなー。
ある日突然、eclipse(3.4.1)が起動出来なくなった。
こんなダイアログが出る。
---------------------------
Eclipse
---------------------------
JVM terminated. Exit code=-1
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
-XX:MaxPermSize=256M
-Djava.class.path=C:\eclipse\plugins\org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar
-os win32
-ws win32
-arch x86
-showsplash C:\eclipse\\plugins\org.eclipse.platform_3.3.101.v200902111700\splash.bmp
-launcher C:\eclipse\eclipse.exe
-name Eclipse
--launcher.library C:\eclipse\plugins\org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731\eclipse_1115.dll
-startup C:\eclipse\plugins\org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar
-framework plugins\org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar
-vm C:\Program Files\Java\jre6\bin\client\jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
-XX:MaxPermSize=256M
-Djava.class.path=C:\eclipse\plugins\org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar
---------------------------
OK
---------------------------
原因は、JREのバージョンが関係しているらしい。
仕事柄、1.4と1.5と6を使い分けているので、仕方ない。
回避するには、JVMを明示指定してあげればよい。
Windowsの場合、ショートカットのパスを変更する手がある。
C:\eclipse\eclipse.exe
↓
C:\eclipse\eclipse.exe -vm “C:\Program Files\Java\jre6\bin\javaw.exe”
正攻法では、eclipse.iniを修正する。
これを追記し、
-vm
C:\Program Files\Java\jre6\bin\javaw.exe
ここを適宜修正。
-Dosgi.requiredJavaVersion=1.6
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vm
C:\Program Files\Java\jre6\bin\javaw.exe
-framework
plugins\org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m