問題タブ [linkageerror]

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.

0 投票する
0 に答える
3607 参照

java - java.lang.LinkageError: ローダーの制約違反: ローダーは以前に名前が "javax/xml/namespace/QName" の別の型のロードを開始しました

私はEclipse プラグインを開発しており、通常の jarライブラリを同等のOSGi bundleに置き換えようとしています。Apache Felix maven-bundle-plugin を使用して jar ファイルをビルドし、それを OSGi バンドルに変換します。pom.xml<Export-Package>で、プラグインに必要なパッケージを定義しuses、パッケージを含むライブラリに含まれるすべてのパッケージ (依存関係)として定義します。プラグインのクラスパスでライブラリを使用していたとき、プラグインを正常に実行できました。ライブラリから作成した OSGi バンドルからパッケージをインポートすると、次のエラーが発生します。javax.xml.namespace<Embed-Dependency>javax.xml.namespace

クラスの 2 つの異なるバージョンがインスタンス化されているようですQName(1 つはプラグインから、もう 1 つはライブラリから?) が、ライブラリとプラグインの両方でこのクラスが必要です。javax.xml.namespace パッケージをバンドルからプラグインにインポートしようとしましたが、これは役に立ちませんでした。また、クラスをインポートしないプラグインの別のクラスにライブラリに関連するコードを移動しようとしましたQNameが、これは何かを変更しませんでした。難しい問題のようです。MANIFEST.MFまたはバンドルの組み込みパッケージで何かを変更する必要がありますか、それともプラグインのインポートされたパッケージで何かを変更する必要がありますか? どんな助けでも大歓迎です。

0 投票する
1 に答える
501 参照

web-services - スタブ メソッドの呼び出し中に「メソッドが 'java.lang.LinkageError' 例外をスローしました」

自動生成されたスタブを使用して Web サービスのメソッドを呼び出そうとしています。次の行で割り当て、

SOAP エンベロープとして。

これの理由は何ですか?

0 投票する
1 に答える
363 参照

maven - jsf 1.2 を jsf 2.2.12 に移行すると問題が発生する

プロジェクトをjsf 1.2からjsf 2.2.12に移行しています。ビルドが成功した後、jboss 7 サーバーにデプロイしたところ、次のようなエラー メッセージが表示されました。

これについて何かアイデアはありますか?

これが私のシステムの詳細です: サーバー: jboss7 現在のライブラリ: jsf 1.2、richfaces 3.3.3 移行ライブラリ: jsf 2.2.17 ビルド: maven

よろしくお願いします、

0 投票する
0 に答える
581 参照

java - 予想される例外と Powermock を使用して TestNG を実行するとリンケージ エラーが発生する

私はMavenプロジェクトに取り組んでおり、次の構造でTestNG単体テストを実行しようとしています:

しかし、テストを実行していると、次の例外が見つかりました。

私の知る限り、powermock はテスト環境用に MockClassLoader を使用してオブジェクトをロードし、Sun は AppClassLoader を使用して同じオブジェクトをロードします。クラスローダーが異なるため、実行時にオブジェクトも (同じ名前を持っている以上に) 異なり、これは LinkageError を意味します。

とにかく、それを回避するためにいくつかの方法を試しました。たとえば、expectedExceptions タグを削除して、try および catch 句を追加しましたが、成功しませんでした。

その例外に対して一意のクラスローダーを設定するにはどうすればよいですか? それはそれを解決するための正しいアプローチですか?それとも、何か他のもので試してみるべきですか?Maven の設定に何か問題があるのでしょうか? アイデアやコメントは大歓迎です:)

0 投票する
2 に答える
13678 参照

java - 同じクラスの異なるバージョンを使用したクラスロード: java.lang.LinkageError: name の重複したクラス定義を試みました

異なるクラス名を持つ異なるクラス実装を動的にロードする作業コードがあります。クラス ファイルはメモリ内データベース( Apache Derby Db ) にロードされ、classloader はBLOB列から.classファイルを取得します。

私がやりたいことは、バージョン列とフラグを含むバイナリ BLOB として.classIS_ENABLEDファイルを挿入することです。その後、クラスローダーは実行時にさまざまなバージョンのクラスをロードします。コンパイルされたクラス バージョンと同量の db エントリがあり、IS_ENABLEDフラグがTRUEに設定されたクラスは 1 つだけです。

カスタムクラスローダーで同じクラス名をロードしようとしたため、次の例外が発生しました。

同じインターフェース ( Greeter.java )に対して2 つの異なる.classファイル ( Greeter.class.v1Greeter.class.v2 ) (コードの先頭に挿入) があります。

テスト コードの冒頭で、lib/classes/ フォルダーからクラス ファイルが取得され、インメモリ db に blob バイナリ データとして挿入されます。その後、.class ファイルがデータベースによって順次取得されて読み込まれます。同名クラスのロード中に例外が発生する。

どうすればこの問題を解決できますか? クラスをアンロードする方法、またはとにかく同じ名前のクラスをリロードする方法はありますか?

プロジェクトツリー

ここに画像の説明を入力

DerbyServerClassLoader.java - クラスローダー

Greet.java - Greeter インターフェイス

DbSingleton.java - DbSingleton に接続するユーティリティ クラス

ClientClassLoaderDBVersionDemo.java - テスト コード

出力

0 投票する
2 に答える
54 参照

c++ - Visual Studio で DLL を生成する

私はdllファイルを生成しようとしており、その.libファイルを別のプログラムで使用していますが、残念ながら.libファイルは生成されません! 私は何をすべきか?

0 投票する
1 に答える
3990 参照

jakarta-ee - java.lang.LinkageError: ローダーの制約違反。インターフェイスメソッドを解決するとき(サービスクラス内)

私のプロジェクト構造は、Rest (Rest API とその実装クラスが配置される)、Service API (サービス インターフェイスが定義される)、および Service Impl (サービス API の実装が配置される) という 3 つのバンドルがあるようなものです。値を(+いくつかのプロパティ)オブジェクトにPersonalInfoServiceImpl設定して返すだけの私のコード。正常に動作していました。しかし、さらにいくつかのインターセプターと統合した後、突然、このコードで次のエラーが発生し始めました。PersonalInfoRequestBeanPersonalInfoResponseBeanPersonalInfoResponseBean

誰かがこの問題で私を助けることができますか?. サービスのデプロイには Apache karaf を使用しています。したがって、それが karaf/delpoyment/maven の依存関係に関連している場合、この問題をデバッグする方法は何ですか。