[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 メーリングリストの案内