必要な .class ファイルから間接的に参照されます
質問
Eclipse でプロジェクトをビルドしようとすると、エラー メッセージが表示されます。
The type weblogic.utils.expressions.ExpressionMap cannot be resolved. It is indirectly referenced
from required .class files
解決策をオンラインで探しましたが、解決策が見つかりません (有料のサポートを請求するサイトを除く)。この問題を解決する方法を知っている人はいますか?助けていただければ幸いです、ありがとう!
解決
Weblogic クラスを Eclipse のクラスパスに追加するにはどうすればよいですか?WTP とサーバー ランタイムを使用していますか?そうである場合、サーバー ランタイムはプロジェクトに関連付けられていますか?
プロジェクトを右クリックしてビルドを選択すると、 path->configure
ビルドパスを選択し、ライブラリタブを選択します。ここに関連付けられた WebLogic ライブラリが表示されるはずです。そうでない場合は、クリックできます Add Library->Server Runtime
. 。ライブラリが存在しない場合は、まずライブラリを構成する必要があります。 Windows->Preferences->Server->Installed runtimes
他のヒント
spring-tx jar ファイルを追加すると解決するはずです。
Google で「weblogic ExpressionMap」を検索したことがありますか?それが何なのか、そして何をするのか知っていますか?
まだコンパイルしていない場合は、Weblogic と並行して、Eclipse クラスパスに含まれる Weblogic の jar を使用してコンパイルする必要があるようです。
まだ Weblogic を使用していない場合は、一体何が Weblogic を参照しているのかを調べる必要があります。jar、クラスファイル、またはソース ファイルに対して、文字列「weblogic」が含まれるファイルを探すために、強力な grep を実行する必要がある場合があります。
この Weblogic クラスに依存しているが Weblogic を使用できないものを含める必要がある場合、互換性のあるクラスのリバース エンジニアリングを試みたくなるでしょう。独自の weblogic.utils.expressions.ExpressionMap クラスを作成します。すべてがコンパイルされるかどうかを確認します。コンパイル時または実行時に結果として生じるエラーや警告を使用して、このクラスにどのようなメソッドや他のメンバーが必要であるかについて手がかりを得ることができます。可能であれば何も実行しない、または null を返すスタブ メソッドを作成します。
この問題は、他の jar から参照を取得している jar がほとんどなく、参照 jar が欠落しているために発生します。
例 :スプリングフレームワーク
Description Resource Path Location Type
The project was not built since its build path is incomplete. Cannot find the class file for org.springframework.beans.factory.annotation.Autowire. Fix the build path then try building this project SpringBatch Unknown Java Problem
この場合、「org.springframework.beans.factory.annotation.Autowire」が欠落しています。
Spring-bean.jar is missing
クラスパスに依存関係を追加すると、問題は解決します。
このエラーが発生しました:
タイプ com.ibm.portal.state.Exceptions.StateException を解決できません。必要な .class ファイルから間接的に参照されます。
次のようにすると修正されました。
プロパティ -> Java ビルド パス -> ライブラリ -> サーバー ライブラリ [wps.base.v61]unbound -> WAS 7 上の Websphere Portal v6.1 -> 完了 -> OK