ちょっと前の記事を探そうと思ってたら、あれ?書いてない。
あ、そうだ。
引っ越したんだった
Faceletのプロジェクトを作成後、他のワークスペースにプロジェクトをコピーしたら、
致命的: クラス com.sun.faces.config.ConfigureListener のリスナインスタンスにコンテキスト初期化イベントを送信中の例外です
com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! null
:
Caused by: java.lang.NullPointerException
at com.sun.faces.config.processor.ManagedBeanConfigProcessor.process(ManagedBeanConfigProcessor.java:241)
jsf-api.jar+jsf-impl.jarとmyfaces-api-1.2.6.jar+myfaces-impl-1.2.6.jarの両方が入っていたため、名前空間が重なったようだ
jsf-api.jar+jsf-impl.jarを削除すると動いた。
○
faceletの取得
○com.sun.facelets.FaceletException: Requires FaceletFilter to be initialized with Application!!
というエラーが出たらweb.xmlに以下の記述追加
<filter>
<filter-name>facelets</filter-name>
<filter-class>com.sun.facelets.webapp.FaceletFilter<filter-class>
</filter>
<filter-mapping>
<filter-name>facelets</filter-name>
<url-pattern>*.xhtml</url-pattern>
</filter-mapping>
○関連
・XHTML
<html ... xmlns:m="http://www.mycompany.com/jsf">
・web.xml
<context-param>
<param-name>facelets.LIBRARIES</param-name>
<param-value>/WEB-INF/facelet/mycompany.taglib.xml</param-value>
</context-param>
・mycompany.taglib.xml
<tag>
<tag-name>bar
<component>
<component-type>javax.faces.Data</component-type>
<renderer-type>com.mycompany.Bar</renderer-type>
</component>
</tag>
・jar内のfaces-config.xml
<renderer>
<component-family>javax.faces.Data</component-family>
<renderer-type>com.mycompany.Bar</renderer-type>
<renderer-class>
com.mycompany.jsf.renderer.BarRenderer
</renderer-class>
</renderer>
インストール、サービス起動をしてもデフォルトのindex.htmlが表示されない。
${TOMCAT}/conf/tomcat-users.xml を修正
%lt;?xml version='1.0' encoding='cp932'?>
↓
%lt;?xml version='1.0' encoding='utf-8'?>
eclipseから起動した場合、confファイルをワークスペースにコピーしているらしいので、サーバプロジェクトを削除して再作成
ウォークマン付属の「SonicStage V」というものは、なぜか管理者権限でないと動作しない。
いったい何をやるために管理者権限が必要なのか理解できないが、
ソニーさんには、ウォークマンは子供が使うことを想定していないのだろうか?
ということで、管理者でプログラムを実行する方法(sonic.bat)
runas /savecred /user:administrator "C:\Program Files\Sony\SonicStage V\SonicStage.exe"
1回目実行時にはパスワードを聞いてくるが、2回目以降は聞いてこない