[Seasar-user:3997] 2つのプロジェクト間でのDIが行われない

吉岡 武志/インフォセンス [E-MAIL ADDRESS DELETED]
2006年 6月 29日 (木) 22:48:13 JST


吉岡といいます。

現在、下記の環境を構築し実行したところオブジェクトがDIされない現象が発生し
困っています。

mainProject と testProjectという2つのプロジェクトを作成し
testProjectのビルドパスにmainProjectを追加している環境を構築しています。

また、mainProjectとtestProjectは、全く同じパッケージ構成にしています。

mainProjectのパッケージにJobDaoインターフェースを配置して、testProjectに
JobDao
インターフェースをimplしたJobDaoImplクラスを配置します。

mainProject側のdiconにAutoNamingでDIされるように定義しておき、testProject側
から
そのdiconを読み込ん(include)で実行したところ、testProjectに配置したオブジェ
クト
がDIされませんでした。

このJobDaoImplクラスをtestProjectからmainProjectに移してみたところ正常にDI
されました。

また、AutoNamingではなく、<component>で直接クラス指定した場合はDIされまし
た。

別プロジェクト間にインターフェースとImplしたクラスを配置した場合に
は、AutoNamingでは
DIされないような感じなのですが、diconの設定が悪いのかどうか判断ができない状
態です。

また環境的な問題で発生しているのでしょうか?

お手数ですがご教授のほどよろしくお願いします。

[Java環境]
mainProjectプロジェクト:jp.co.sample.dao配下に
・JobDaoインターフェースを配置
testProjectプロジェクト:jp.co.sample.dao配下に
・JobDaoImplクラスを配置(JobDaoインターフェースをImpl)

[diconの定義]
<component class
="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister">
      <property name="autoNaming">
            <component class
="org.seasar.framework.container.autoregister.DefaultAutoNaming"/>
      </property>
      <initMethod name="addClassPattern">
            <arg>"jp.co.sample.dao"</arg>
            <arg>".*Impl"</arg>
      </initMethod>
</component>
<component class
="org.seasar.framework.container.autoregister.AspectAutoRegister">
      <property name="interceptor">daoInterceptorChain</property>
      <initMethod name="addClassPattern">
            <arg>"jp.co.sample.dao"</arg>
            <arg>".*Impl"</arg>
      </initMethod>
</component>
- 以上 -






Seasar-user メーリングリストの案内