[Seasar-user:20119] Re: HOT deploy時にthis.getClass().getPackage()がnullになる
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2010年 9月 1日 (水) 14:30:14 JST
小林 (koichik) です.
Date: Wed, 1 Sep 2010 12:30:38 +0900
From: 山本学 <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:20118] HOT deploy時にthis.getClass().getPackage()がnullになる
> 掲題の通り、HOT deploy時に限り、
> Actionクラスなどでthis.getClass().getPackage()を実行すると
> 結果がnullとなってしまいます。(COOLやWARNであれば正しく取得できます。)
HotdeployClassLoader では definePackage() を
していないためです.
元々 Maven のテスト実行時とか,(昔の?) WebSphere とか
getPackage() は取れないケースも多い (最近の Maven や
WebSphere は知りませんが) ので,あてにしない方が無難です.
もしパッケージ名を取得したいだけなら
Seasar2 の ClassUtil を使って
String packageName = ClassUtil.getPackageName(clazz);
とした方が確実です.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内