問題タブ [serialversionuid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Eclipse のクラスでエラーが発生しました
それは私が書いたコードで、extends GraphicsProgram
orを置くたびにConsoleProgram
それが教えてくれます
また、この警告でプログラムを実行しようとすると、空白のプログラムが表示されます。
誰でもこれらの問題で私を助けることができますか?
java - Eclipseで生成されたserialVersionUIDについて
EclipseでserialVersionUIDをシリアルに生成する方法はありますか?シリアルとは、1つのシリアル化可能なクラスのserialVersionUID = 1Lの場合、別のクラスのserialVersionUIDを生成すると、serialVersionUID=2Lになることを意味します。
1L、2L、3Lなどを手動で指定した場合、問題が発生する可能性がありますか?
Eclipseは「生成されたシリアルバージョンIDを追加する」を選択するオプションを提供しましたが、このオプションは安全に選択できますか?
java - EclipseでのserialVersionUIDフィールドの警告
私はAWTを始めたばかりで、簡単なプログラムを作成しました。正常に動作しますが、理解できないEclipseで警告メッセージが表示されます:
シリアル化可能なクラス TestGUI は、long 型の static final serialVersionUID フィールドを宣言しません
警告メッセージが AWT に関連していないことはわかっており、コード全体を投稿する必要はありませんでしたが、コードの SSCCE を作成しようとすると、警告も消えました。この警告が生成される理由がわからないので、SSCCE でどの部分を保持すればよいかわかりませんでした。したがって、コード全体!
私のコードは次のとおりです。
事前にサンクス!
java - Serializable クラスの serialVersionUID を生成するように、Eclipse のどこで設定を変更すればよいですか?
serialVersionUID
を実装する for クラスをEclipse に生成させたいと考えていますSerializable
。
ただし、 を実装するクラスを作成しても、私の Eclipse インスタンスは警告やエラーをスローしませんSerializable
。また、生成された を追加することについての提案もありませんserialVersionUID
。必要な設定はどこで変更できますか?
java - serialVersionUIDフィールドが存在するのはなぜですか?
インターフェースの立ち上げから、Serializable
このフィールドをすべてのクラスに組み込む必要がある理由に戸惑いました。このインターフェイスにはクラスをマークするための一意の識別子が必要であることを理解していますが、実行時にこれを生成できないのはなぜですか。たとえば、完全修飾クラス名のMD5ハッシュ、またはまれに重複を処理するために使用される同様の方法論を使用して生成できます(これは、とにかくIDを生成するように求められたときにeclipseが行うことです)。
それで、私が求めているのは(この投稿は標準ライブラリに対する単なる暴言ではありません)、フレームワークでシリアル化フィールドがどのように使用されているかということです。
MD5ハッシュを使用してserialVersionUIDフィールドを追加し、APIで受け入れられる方法で衝突を処理できるAspect(AspectJまたは他の言語で)を作成しようとしているため、知りたい理由。
うまくいけば結果を投稿します。
java - InvalidClassException SerialVersionUID を取り除くには?
データベースに 1 つの Java オブジェクトを保存し、数日後に JRE バージョンを変更しました。同じオブジェクトを読み取ろうとすると、次の例外が発生します。
どうすればこれを取り除くことができますか?保存されたオブジェクトを取得するにはどうすればよいですか?
私を助けてください。
java - Java:オブジェクトインスタンスに2つのserialVersionUIDがあるのはなぜですか?
私はGlassfish3.1.2.2、JPAプロバイダーとしてのeclipse-link、およびJavaJDK-6u31を使用しています。私のアプリケーションは、クライアントマシン上の独自のJVMで実行されているスタンドアロンのSwingクライアントを備えた3層です。JNDIルックアップおよび@RemoteインターフェースによるEJBとの通信。
私は次のオブジェクト継承構造を持っています:
私のスーパークラス「ドキュメント」:
...およびサブクラス「請求書」:
請求書オブジェクトを永続化するためにejbファサードを呼び出しているときにこの例外が発生します(persist()、flush()、refresh()を呼び出し、自動生成されたIDをクライアントに提供するためにオブジェクトをクライアントに返します):
この例ではCORBAマーシャリングが明らかに失敗するため、私はすでにインターネットを調べて、serialVersionUIDの問題を示すヒントを見つけました。
次に、Netbeans IDEでデバッガーをオンにし、サーバー側のejbBeanに送信される前にオブジェクトの状態をイントロスペクトしました。
デバッガウィンドウで[静的フィールド]ノードを開くと、serialVersionUIDが重複していることに気付きました(次の画像と比較してください)。
-誰かがこの問題を解決する方法の手がかりはありますか?
私のプロジェクトには、(@ Lobなしで)非常によく似た構造のこのような他の継承構造がありますが、この問題はありません... @Lobフィールドでこの動作が発生する可能性はありますか?
助けていただければ幸いです。よろしくお願いします。
編集:これが完全なスタックトレースです:
java - serialVersionUID は Java でどのようにシリアル化されますか?
クラス メンバー (静的) はシリアル化できません。その理由は明らかです。それらはクラスのオブジェクトによって保持されていません。これらは (クラスのオブジェクトではなく) クラスに関連付けられているため、オブジェクトとは別に格納されます。
serialVersionUID
java.io.Serializable
次のようなインターフェイスを実装するクラス内の静的フィールドとして宣言されます。
クラスのバージョン管理として使用されSerializable
ます。明示的に宣言されていない場合は、Java(TM) Object Serialization SpecificationSerializable
で説明されているように、クラスのさまざまな側面に基づいて JVM によって自動的に実行されます。
インターフェイスを実装するクラス内で明示的に宣言されていない場合Serializable
、警告が発行されることがあります。
シリアライズ可能なクラスは型のフィールドを
SomeClass
宣言していませんstatic
final
serialVersionUID
long
とはいえシリアライズされているのですがstatic
、どうですか、それともシリアライズの例外ですか?
scala - シリアル化:InvalidClassException scala
なぜこのエラーが発生するのですか?
intellijを使用する