[Seasar-user:12284] EclipseプラグインからSeasarを使用する方法
AGATA Toshitaka
[E-MAIL ADDRESS DELETED]
2007年 12月 25日 (火) 14:55:17 JST
縣です。
Eclipseプラグイン内でSeasar2を使用して、
S2JDBC経由でDBアクセスなどを行おうと思っています。
S2Containerの生成時に、クラスローダーの設定や、
リソースファイル(jta.diconなど)を見つけられないなど、
かなりはまりはしましたが、
なんとか利用できるようになりました。
しかし、今の方法ではSeasar2のJARを別プラグインにできないなど、
いまいちな感じがしています。
他にもっと良い方法ご存じの方がいらっしゃいましたら、
教えていただけると助かります。
また、Eclipse PluginでSeasar2を使われた方っていらっしゃいますか?
小さなことでも結構ですので、情報共有できたらうれしいです。
■環境
Eclipse 3.2.2
Seasar 2.4.19
OS MacOS X 1.4.11
Java 1.5.0_13
java version "1.5.0_13"
Java(TM) 2 Runtime Environment, Standard Edition (build
1.5.0_13-b05-241)
Java HotSpot(TM) Client VM (build 1.5.0_13-121, mixed mode, sharing)
(WindowsXPでも動作は同じでした)
■S2Container生成のコード(実験1,2とも)
// EclipseのViewのクラス内で
S2Container c = S2ContainerFactory.create(
"app.dicon", getClass().getClassLoader());
■実験1:Seasar2のJARを別プラグインにした場合
【方法】
1.org.seasar.containerプラグインを作成
Seasarの依存JARファイルは全てここに置いています。
2.アプリ側のプラグインでorg.seasar.containerを
MANIFEST.MFのRequire-Bundleに追加
3.Eclipse上から、実行できることは確認
4.「Run..」から「Eclipse Application」として、
起動して実行すると、jta.diconなどが見つからない問題あり。
あと、起動時にCPU使用率が100%になって
起動に数分時間がかかります。
【結論】
別プラグインのJARに含まれるjta.diconなどの
リソースファイルが見つからないためこの方法は失敗
■実験2:Seasar2のJARをアプリのプラグイン内に設定した場合
【方法】
1.Seasarの依存JARファイルをアプリのプラグインに置く
MANIFEST.MFのBundle-ClassPathに追加
2.Eclipse上から、実行できることは確認
3.「Run..」から「Eclipse Application」として、
起動して実行すると、ComponentAutoRegistor経由で
登録ができていないことを確認
ComponentAutoRegistorの部分をひとつひとつ記述すると、
動作可能
【結論】
ComponentAutoRegistorを使用しなければ、特に問題なし。
以上
--
-------------------------------
株式会社ヌーラボ 縣 俊貴
Mail : [E-MAIL ADDRESS DELETED]
HP : http://www.nulab.co.jp/
TEL : 03-5766-6256(東京)
092-724-0020(福岡)
-------------------------------
Seasar-user メーリングリストの案内