オリジナルのmojarra実装の既知のバグのために、JSF実装をWARファイルにバンドルする必要があります。JSF1051でWARのPayallでJSFをバンドルすると失敗するGlassFishInjectionProviderがDiscoverableInjectionProviderを拡張しない
モジュールのJSF実装を置き換えることが許可されていないため、useBundledJsfプロパティを使用しています。
Payaraバージョン:Payara Server 4.1.1.164 #badassfish(ビルド28) このバージョンでは、useBundledJsfが適切にサポートされている必要があります。
私のglassfish-web.xmlにこれを追加しました:
<class-loader delegate="false" />
<property name="useBundledJsf" value="true" />
と私のポンポンにjavax.facesのdependecyを追加しました:
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.faces</artifactId>
<version>2.2.13</version>
</dependency>
私は次のエラーを取得し、すべての注射をしています失敗している。
SEVERE: JSF1051: Service entry 'org.glassfish.faces.integration.GlassFishInjectionProvider' does not extend DiscoverableInjectionProvider. Entry will be ignored.
私は私のプロジェクトに溶接integration.jarを追加しようとしましたが、それはまだで、次のJSF1051エラーを生成します。
Unable to create a new instance of 'org.jboss.weld.jsf.ConversationAwareViewHandler'
私が使用している溶接統合のための依存関係:
<dependency>
<groupId>org.glassfish.main.web</groupId>
<artifactId>weld-integration</artifactId>
<version>4.1.2</version>
<exclusions>
<exclusion>
<artifactId>*</artifactId>
<groupId>*</groupId>
</exclusion>
</exclusions>
ヒントのおかげで、しかし、私はここにホワイトリストに登録すべきかわかりません。フェイルレットで使用されるすべてのパッケージは、すでにホワイトリストに登録されています(デフォルトのホワイトリストクラス).com.sun、javaxおよびエラーメッセージorg.glassfishのパッケージ。それでもJSFを外部にロードしようとしていますが、エラーはまだあります。 – tak3shi