[Seasar-user:20560] [SAStruts+S2Dao]Jar内のDao,Serviceの使用方法

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2011年 2月 6日 (日) 22:41:35 JST


はじめまして。magariと申します。

現在SAStruts+S2Daoにて開発を行っておりますが、
メイン(SAStruts+S2Dao)となるプロジェクトが複数あり、
その中で共通のDBへのアクセスおよび処理をjarファイルとして
共有できるようにしたいのですがうまくきません。

過去ログよりいろいろ試してみましたが
まだ解決にいたっておりません。
ご教授ねがいますでしょうか。

構成は以下です。
・メインとなるプロジェクト(hoge-main)
SAStruts+S2Daoプロジェクトとして作成
→簡単な画面表示および、自プロジェクト内のDaoを使用して
DBにアクセスできることを確認

・共通処理のプロジェクト(hoge-common)
ルートパッケージ hoge.common
SAStruts+S2Daoにて作成し、serviceクラス経由で
Daoを使用してDBへアクセスできることを確認
作成したクラスは
hoge.common.dao.TestDao
hoge.common.entity.Test
hoge.common.service.TestDaoService

・やりたいこと
hoge-common の service 配下のクラスをメインの任意の
クラス(とりあえずActionクラス)にDIして、そのservice経由で
DBへアクセスしたい。

・試したこと
※見当違いのことをやっているかもしれません
hoge-commonをjarでエクスポートし(service,dao,entityのみ)、
作成したjarをhoge-mainのlib配下へ配置、Eclipseのビルドパスで該当jarを追加。

hoge-mainのconvention.diconに以下を追加
<initMethod name="addRootPackageName">
    <arg>"hoge.common"</arg>
</initMethod>
その他の hoge-main の dicon ファイルは変更していません。

hoge-mainのActionクラスに以下を追加
@Resource
public TestDaoService testDaoService;

これでtomcat起動してブラウザでアクセスすると
java.lang.ClassNotFoundException: hoge.common.service.TestDaoService
が発生

hoge-common のデータソース定義などもどこかに
配置する必要があるかと思いますが、どうやるべきか
見当がつきません。

使用しているjarは以下です。
s2-dao-1.0.51.jar
s2-dao-tiger-1.0.51.jar
s2-framework-2.4.43.jar
sa-struts-1.0.4-sp8.jar
struts-1.2.9.jar

よろしくお願いいたします。



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