JBoss EAP 6 のデプロイメントでパッケージ化した MyFaces や Sun などの JSF を使用する
Issue
-
MyFaces JSF をパッケージ化しているアプリケーションを移行しています。デフォルトの Sun JSF 2 ではなく、JBoss EAP 6 で MyFaces を使用できるように JBoss を設定するにはどうしたら良いですか?
-
Sun RI JSF 2.0.3 以降のカスタムパッチを使用します。これは、アプリケーションで有効な唯一のバージョンで、JSF バージョンをアップグレードまたはダウングレードすることができません。この JSF は EAR そのものに同梱されます。以下のように、移行ドキュメントに記載されている手順に従いました。
<exclusions> <module name="javax.faces.api" slot="main"/> <module name="com.sun.jsf-impl" slot="main"/> </exclusions>これを行っても、アプリケーションは起動しません。以下の例外を受け取りました。
Caused by: javax.faces.FacesException:Class org.jboss.as.web.deployment.jsf.JandexAnnotationProvider is not an instance of com.sun.faces.spi.AnnotationProvider
at com.sun.faces.spi.AnnotationProviderFactory.createAnnotationProvider(AnnotationProviderFactory.java:74) [jsf-impl-2.0.3.jar:2.0.3-SNAPSHOT]
at com.sun.faces.config.ConfigManager$AnnotationScanTask.<init>(ConfigManager.java:746) [jsf-impl-2.0.3.jar:2.0.3-SNAPSHOT]
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:324) [jsf-impl-2.0.3.jar:2.0.3-SNAPSHOT]
...9 more
- JBoss EAP 6.1 の場合、この問題の説明は https://community.jboss.org/message/829624#829624 も併せて参照してください。
Environment
- Red Hat JBoss Enterprise Application Platform (EAP)
- 6.4
- 6.3
- 6.2.0
- 6.1.0
- 6.0.1
- 6.0.0
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
