NetBeans は Java クラスのシリアル バージョン ID を自動生成できますか?
-
21-09-2019 - |
質問
シリアル バージョン ID を自動生成することで、一部のクラスの警告を削除したいと考えています。Eclipse では、これを行うのは簡単です。IDE が自動的にこれを生成し、クラスに追加できます。ただし、NetBeans にはこの機能がありません。利用可能ですか?もしそうなら、それはどこですか?そうでない場合、それを有効にするプラグインはありますか?
解決
「問題は」私見それのように私のプロジェクトの設定での の非アクティブ化という警告のの(私はEclipseを使用しますが、NetBeansは同じであるため、私は推測する)にしたことを実際に私の解決策間違った警告: にserialVersionが最も安全な選択肢である持っていないJVMが明示的にそれを加えながら打ち上げ(クラスのハッシュのようなもの)に一意である1を計算しているため、その後のあなた負担場合は、それを更新するために世話をし、あなたのコードに互換性のない変更を行った場合にのみしてます。
>強いですだから、あなたはそれを気にしないならば、それは(それが に確かに、いくつかの偽陽性と互換性のあるバージョンのみと互換性がありますこのように、その値を避けるために良いでしょう:それはその者を考えています互換性はありませんが、必要なときに、あなたが(おそらく、私の場合は)実際の妥当性エラー(偽陰性につながる、更新を忘れてしまうという事実、それはある)の代わりに、固定値が入れ内:それは互換性があることを考えて、それ)ではありません。
他のヒント
これは、同様に手動で行うことが自明です。ただ、クラスに次の行をコピーします:
private static final long serialVersionUID = 1L;
絶対にserialVersionUID
は、クラス全体で一意であるためには必要がないことを注。
を無効にするこれらの注意事項などをXsltproc:
- :ツール->オプション
- :編集>ヒント"タブ
- 選択言語:Java
- 標準チェックを外Javac警報->直列化
- OK
またクリア~/.xsltproc/6.8/var/キャッシュを再起動ボタンひの警告からのタスク一覧です。
I「M nb7.4を使用してnb7.4
にnb6.5からこのプラグインを見つけました
プラグインの
私はよくnb7.4と仕事でそれをテストしました。
でservialバージョンIDの外観の意味について
serialVersionUIDのの
あなたが明示的に追加した場合、あなたはあなたのクラスをシリアル化していないまで、変更UIDなしであなたのクラスへのすべての変更を行い、店舗のどこかにすることができます:
あなたはクラスを作成する場合はAは、それをシリアル化
データベースに保存し、その後終了
古いクラスAと、それ以上の互換性作りませんその後、変更クラスAを終了し、
誰かの試みは新しいクラスAに最後のクラスAからシリアライズオブジェクトをロードするとき、彼は問題を抱えていることができます。
。