NetBeans は Java クラスのシリアル バージョン ID を自動生成できますか?

StackOverflow https://stackoverflow.com/questions/1373215

  •  21-09-2019
  •  | 
  •  

質問

シリアル バージョン ID を自動生成することで、一部のクラスの警告を削除したいと考えています。Eclipse では、これを行うのは簡単です。IDE が自動的にこれを生成し、クラスに追加できます。ただし、NetBeans にはこの機能がありません。利用可能ですか?もしそうなら、それはどこですか?そうでない場合、それを有効にするプラグインはありますか?

役に立ちましたか?

解決

「問題は」私見それのように私のプロジェクトの設定での の非アクティブ化という警告の(私はEclipseを使用しますが、NetBeansは同じであるため、私は推測する)にしたことを実際に私の解決策間違った警告: にserialVersionが最も安全な選択肢である持っていないJVMが明示的にそれを加えながら打ち上げ(クラスのハッシュのようなもの)に一意である1を計算しているため、その後のあなた>強いです

だから、あなたはそれを気にしないならば、それは(それが に確かに、いくつかの偽陽性と互換性のあるバージョンのみと互換性がありますこのように、その値を避けるために良いでしょう:それはその者を考えています互換性はありませんが、必要なときに、あなたが(おそらく、私の場合は)実際の妥当性エラー(偽陰性につながる、更新を忘れてしまうという事実、それはある)の代わりに、固定値が入れ内:それは互換性があることを考えて、それ)ではありません。

他のヒント

NetBeans はそのままではこの機能をサポートしていないようですが、プラグインはサポートしています。

ぜひご覧ください

リンク1, リンク2 そして リンク3

既存のシリアル化されたインスタンスとの互換性を保つために必要がある場合を除き、

これは、同様に手動で行うことが自明です。ただ、クラスに次の行をコピーします:

private static final long serialVersionUID = 1L;
絶対にserialVersionUIDは、クラス全体で一意であるためには必要がないことを

注。

を無効にするこれらの注意事項などをXsltproc:

  1. :ツール->オプション
  2. :編集>ヒント"タブ
  3. 選択言語:Java
  4. 標準チェックを外Javac警報->直列化
  5. OK

またクリア~/.xsltproc/6.8/var/キャッシュを再起動ボタンひの警告からのタスク一覧です。

(今同じ質問を尋ね、そのユーザーの)


I「M nb7.4を使用してnb7.4
にnb6.5からこのプラグインを見つけました プラグイン
私はよくnb7.4と仕事でそれをテストしました。
でservialバージョンIDの外観の意味について serialVersionUIDの
あなたが明示的に追加した場合、あなたはあなたのクラスをシリアル化していないまで、変更UIDなしであなたのクラスへのすべての変更を行い、店舗のどこかにすることができます: あなたはクラスを作成する場合はAは、それをシリアル化
データベースに保存し、その後終了
古いクラスAと、それ以上の互換性作りませんその後、変更クラスAを終了し、
誰かの試みは新しいクラスAに最後のクラスAからシリアライズオブジェクトをロードするとき、彼は問題を抱えていることができます。

あなたがクラスAに変更し、あなたが誰かの試みは、それがInvalidClassExceptionsを取得するロードする場合はそうuidを変更する必要があり、最後のクラスAと、それは互換性のない作る

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top