JBoss PortalのJSF問題

うーん、どうしたものだろう・・・。MyFacesが組み込まれているので、JSFなポートレットが動かんのだけど(組み込まれているMyFacesと同じバージョンを使えば動くと思うけど、そんなことはしないよね・・・)。っていうか、これでリリースするのはなしだろって気がするのは、私だけか・・・。とりあえず、VFSポートレットのテストがしたかっただけなので、以下の方法で回避(正しい手順を検索ししたけど、見つからんので・・・結構、みんな困っているように思える)。

$ cd jboss-portal-2.4.0
$ mv server/default/deploy/jbossweb-tomcat55.sar/jsf-libs/ .
$ cp jsf-libs/commons-beanutils.jar jsf-libs/commons-codec-1.2.jar jsf-libs/commons-digester-1.6.jar jsf-libs/jstl.jar jsf-libs/myfaces-* server/default/deploy/jboss-portal.sar/lib/

他にも MyFaces を置かなければ動かないものがあるかもしれないけど、まぁ、VFSポートレットが動いたので良しとする。っていうか、JBoss Portal を直して~。

JBoss Portal用ポートレットの開発チップ

  • log4j-*.jar を含めてはならない。

以下のような Exception をくらいます。

12:52:44,571 ERROR [STDERR] log4j:ERROR A "org.jboss.logging.util.OnlyOnceErrorHandler" object is not assignable to a "org.apache.log4j.spi.ErrorHandler" variable.
12:52:44,571 ERROR [STDERR] log4j:ERROR The class "org.apache.log4j.spi.ErrorHandler" was loaded by
12:52:44,571 ERROR [STDERR] log4j:ERROR [WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
java.net.FactoryURLClassLoader@43f9c9e3
] whereas object of type
12:52:44,572 ERROR [STDERR] log4j:ERROR "org.jboss.logging.util.OnlyOnceErrorHandler" was loaded by [org.jboss.system.server.NoAnnotationURLClassLoader@13aaa14a].
12:52:44,634 ERROR [STDERR] log4j:ERROR Could not create an Appender. Reported error follows.
12:52:44,634 ERROR [STDERR] java.lang.ClassCastException: org.jboss.logging.appender.DailyRollingFileAppender
12:52:44,635 ERROR [STDERR]     at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:175)