私はGWTで遊んでいますが、GWTのシリアル化可能なオブジェクトのルールを満たさないクラスを作成するという悪い習慣があるようです。
次のすべてが当てはまる場合、ユーザー定義クラスはシリアライズ可能です。
- これらのインターフェイスの1つを直接実装するため、または次のようなスーパークラスから派生するため、IsSerializableまたはSerializableに割り当てることができます。
- すべての非最終的で非一時的なインスタンスフィールドは、それ自体がシリアル化可能であり、
- GWT 1.5の時点では、デフォルト(引数がゼロ)のコンストラクター(アクセス修飾子を含む)が必要であるか、コンストラクターがまったくない必要があります。
通常、デフォルトのコンストラクターを含めるのを忘れています。私は通常、実行時にシリアル化の例外が発生したときにこれについて知ります。これは私を不必要だと思います。確かに、Eclipse(またはGoogleプラグイン)が私のGWTコードを静的に分析し、コンパイル時にこの問題を発見できる方法はありますか?どこかで小さな赤い波線が見えるのは、実行時の例外を取得するよりもはるかに優れています。
私は、次のような解決策を希望の昇順で期待しています。
- この種の警告/検証を有効にするためにEclipseまたはGoogleプラグインで設定できる構成オプション
- これを行うためにインストールできる追加のプラグイン
- 仕事を成し遂げるための他の既存の方法。
- これを自分で行うためにGoogleプラグインを変更する方法のヒント。