8

javax.faces-2.1.14.jar と jsf-api-2.2.0-m05.jar の違いと jsf-impl-2.2.0-m05.jar の間で混乱しています。使用せずに jsf プロジェクトを作成しようとしています。 maven と例を探しているときに、さまざまなチュートリアルでさまざまな jar 依存関係を見ました。coreservletsのチュートリアルでは javax.faces-2.1.14.jar を使用し、別のサイトで見た他のチュートリアルでは jsf-api-2.2.0-m05.jar と jsf-impl-2.2.0-m05 の 2 つの jar ファイルを使用しています。 jar Id は、これら 2 つの依存関係セットの違いを知りたいです。よろしくお願いします。

4

2 に答える 2

21

jsf-api-xxx.jarパッケージjavaパッケージの下にあるクラスが含まれていますjavax.faces。このjar内のクラスは、JSF仕様で定義された標準APIの実装です。には、javaパッケージのjsf-impl-xxx.jar下にあるクラスが含まれていますcom.sun.faces。これは、javaパッケージが示すように、JSF実装用のSun独自のクラスです。

javax.faces-xxx.jar実際には、前の2つのjarファイルをマージします。Mavenリポジトリでは、org.glassfishgroupIdの下にあります。javax.faces中にはとcom.sun.facesjavaパッケージの両方があります。

では、開発には何を使用する必要がありますか?実際には両方を使用できます。ただし、推奨される方法はjsf-api-xxx.jar、コンパイルクラスパスにのみ含めることです。したがって、独自のアプリケーションは、他のJSF実装への移植性com.sun.facesを実現するために、パッケージ内のクラスに依存しません。GlassFishなどのアプリケーションを使用している場合、コンテナは実行時にJSF実装をすでに提供している必要があります。上記のJSFjarファイルをwarファイルまたはearファイルと一緒にパッケージ化しないでください。サーバーがそれらすべてを提供します。TomcatなどのデフォルトでJSF実装が付属していないコンテナを使用する場合は、にパッケージまたは(+ )を含める必要があります。javax.faces-xxx.jarjsf-api-xxx.jarjsf-impl-xxx.jarWEB-INF/lib

于 2013-03-22T03:34:25.050 に答える
0

それらは異なるバージョンです。

  • javax.faces-2.1.14.jarは、2.1.14用の結合されたJARファイルです。
  • jsf-api-2.2.0-m05.jarとjsf-impl-2.2.0-m05.jarは、2.2.0-m05用の個別のJARです。

バージョン間の違いはリリースノートに記載されていますが、2.2と2.1は自明ではありません。

于 2013-03-22T02:43:54.553 に答える