0

私は Java を初めて使用し、フレームワークによってスローされた例外を理解するのに問題があります。

現在、myFaces 1.2 を使用した Java 5 EE と apache tomcat 5.5 で実行されている Tobago で構成されるアプリケーションに正規表現バリデーターを実装しようとしています。

私はいくつかのチュートリアル (SUN の Java 5 EE tut を含む) に従い、かなりの成果を上げました。ただし、jsp を呼び出すと、次のエラー メッセージが表示されます。

java.lang.LinkageError: loader constraints violated when linking javax/faces/validator/Validator class

この問題を解決するために何をする必要があるかを誰かに説明してもらえますか?

これまでのところ、MyFaces 1.1.7 は TomCat 5.5 とバージョンが競合しているようです。どちらにも javax.* パッケージが含まれています (そのうちの 1 つは javax.faces.validator です)。バリデータ クラスは、パッケージ内に別のバージョンがあります。対応する MyFaces ライブラリは myfaces-api-1.1.7.jar と呼ばれ、TomCat ライブラリは javaee.jar と呼ばれます。

myfaces ライブラリに含まれる javax パッケージは、javaee ライブラリ内のパッケージのサブセットです。ただし...プロジェクトの開始に失敗するため、両方をスキップすることはできません。

ヒントはありますか?

4

3 に答える 3

1

クラスパスの問題のように聞こえます。競合するバージョンを持つ 2 つの jar のクラスパスを確認してください (両方ともjavax.faces.validator.Validatorクラスを含んでいます)


MyFacesのホームページによると。Tomcat 構成: Tomcat 5.5.x

一部のユーザーは、Tomcat 5.5.x で MyFaces を使用する際の問題を報告しています。これは、同じ問題に遭遇しないようにするための短いガイドです:-)

MyFaces のバイナリ バージョンを使用している場合: MyFaces はTomcat 5.0.xで動作するようにパッケージ化されているため、WEB-INF/lib/jsp-2.0.jarおよび WEB-INF/lib/commons-el.jar JAR ファイルが必要です。 WAR ファイル (例を含む) から削除されます。

ソースからビルドする場合: Tomcat 5.5.x で動作するように MyFaces をゼロからビルドする場合は、$MYFACES_HOME/build/build.default.properties ファイルのプロパティ tomcat.pre.5.5.version を次のように設定する必要があります。値は偽です。

于 2009-12-03T14:41:29.890 に答える