[Seasar-user:6011] Re: daoのテストでエラー

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 2月 3日 (土) 20:00:25 JST


小林 (koichik) です.

Date:    Sat, 3 Feb 2007 10:45:40 +0900
From:    "satoh" <[E-MAIL ADDRESS DELETED]>
To:      <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:6008] daoのテストでエラー

> java.lang.NoClassDefFoundError:
> org/seasar/framework/util/ResourceNotFoundRuntimeException

このクラスは Seasar2.4 で org.seasar.framework.exception
パッケージに移動したものです.
古いパッケージが使われているということは,Seasar2.3 あるいは
それを前提にした古いプロダクトの Jar が紛れ込んでるのかも
しれません.

お使いの Dolteng のバージョンと,クラスパスに通っている
Seasar 関連プロダクトの Jar のバージョン (ファイル名) を
教えていただけますか?

> Chura Project(Teeda+S2Dao)で生成したプロジェクトにはもともとなかった
> j2ee.diconを他のプロジェクトから
> もってきてbookdao.diconの中でincludeしているのが原因でしょうか?

Seasar2.4 では j2ee.dicon は s2-extension-x.x.x.jar に
含まれています.
他のプロジェクトから持ってきた j2ee.dicon は削除してください.

> <components namespace=”dao”>

dao という名前空間は S2Dao の dao.dicon で
使用しているので,ここは別の名前に変更するか,
必要がなければ namespace 属性を指定しないように
してください.
# 通常,アプリケーションの dicon で名前空間を
# 指定する必要はほとんどありません.

>     <component name=”BookInfoDao” class=”
> ac.hiu.kt.tosho.dao.BookInfoDao”>
> 
>         <aspect>interceptor</aspect>

ここは慣例として,名前空間を含めて

        <aspect>dao.interceptor</aspect>

としてください.
interceptor だけだと何のインターセプタか後で
わかりにくくなるので.
# Dao に適用するインターセプタなので自明かも
# しれませんが,一応.


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