[Seasar-user:8354] Re: CoolDeploy時のみ、Tomcat起動時にエラーが発生する
Taro Unno
[E-MAIL ADDRESS DELETED]
2007年 6月 15日 (金) 11:15:18 JST
大谷さん
いつもお世話になっております。
> ・設定がまずい可能性(クリーンビルドが必要)
クリーンビルドは試しましたが状況は変わりませんでした。
> ・FacesContextがいない状況下で呼び出している可能性
内容をご説明します。
複数のサブアプリケーションで使用するプルダウンの中身を
Utilクラスに下記のように持たせています。
これを利用するPageクラスは
1.AbstractBasePage・・・全てのページクラスの親
↑継承
2.AbstractサブアプリケーションBasePage
↑継承
3.サブアプリケーションPage
という構成にしています。
上記2のクラスから、
SelectOneUtil.SELECT_ONE_OPTIONS
を呼び出しています。
このUtilクラスは、Pageクラスからのみ使用しています。
CoolDeployの場合のみ、FacesContextがない段階で
SelectOneUtilクラスが初期化されているかもしれないということでしょうか。
まだ不足の情報がありましたら、お手数おかけしますが、
ご指摘ください。
<Utilクラスここから>-----------------------------------------------------------------
package ルートパッケージ.util;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class SelectOneUtil {
public static final List SELECT_ONE_OPTIONS;
static{
SELECT_ONE_OPTIONS = initSelectOneOptions();
}
private SelectOneUtil(){
}
private static List initSelectOneOptions(){
List<Map> list = new ArrayList<Map>();
Map<String, String> m1 = new HashMap<String, String>();
m1.put("label", LabelUtil.getLabelValue("option1"));
m1.put("value", "1");
list.add(m1);
Map<String, String> m2 = new HashMap<String, String>();
m2.put("label", LabelUtil.getLabelValue("option2"));
m2.put("value", "2");
list.add(m2);
return Collections.unmodifiableList(list);
}
}
<Utilクラスここまで>-----------------------------------------------------------------
以上、宜しくお願い致します。
海野
07/06/15 に Shinpei Ohtani<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 大谷です。
>
> これだけではあまり的確にはいえませんが、
> ・設定がまずい可能性(クリーンビルドが必要)
> ・FacesContextがいない状況下で呼び出している可能性
> (FacesContextが作成される前(例えばFilterやListenerなど)では
> 当然LabelUtilも使えません。)
>
> Utilクラスの中身と、そのUtilクラスが使われる状況を
> もう少し教えてください。
> 宜しくお願いします。
>
> 07/06/15 に Taro Unno<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > 海野です。
> > お世話になっております。
> >
> > Teeda1.0.7で作成したChuraProjectのアプリケーションが、
> > HotDeployとWarmDeployでは問題ないのに
> > CoolDeployではTomcat起動時にエラーが発生する
> > という現象に出くわしております。
> >
> > ルートパッケージ.util.xxxUtilクラスのstaticメソッドの中から、
> > javax.faces.internal.LabelUtil#getLabelValue(String)
> > を呼び出しているのですが、デバッガで確かめたところ40行目の
> > FacesContext.getCurrentInstance()がnullになっていて
> > NullPointerExceptionが発生しているように見えます。
> > (StackTraceを添付いたします。)
> >
> > ルートパッケージ.utilパッケージはこちらで勝手に追加したもので、
> > diconファイルは特に設定しておりません。
> > (HotDeploy時にはこのパッケージ内のクラスを普通に使えていたので、
> > 設定は不要だと思っていました。)
> >
> > 何か設定がまずいのかもしれません。
> > 見当がつく方、どうぞ宜しくお願い致します。
> >
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> >
> >
> >
>
>
> --
> =============================
> Shinpei Ohtani
> [E-MAIL ADDRESS DELETED]
> =============================
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内