[Seasar-user:8393] Re: s2-dao 1.0.43のpom.xmlがs2-containerの2.3系を参照している

Yu Tagaya [E-MAIL ADDRESS DELETED]
2007年 6月 18日 (月) 15:31:02 JST


本間さん
多加谷@アークシステムです。

うまく行きました。
以下、インラインで結果報告します。

ありがとうございました。

> 本間@アークシステム^^ です。
>
> on Mon, 18 Jun 2007 13:27:29 +0900
> in [Seasar-user:8387] s2-dao 1.0.43のpom.xmlがs2-containerの2.3系を参照している
> "Yu Tagaya" <[E-MAIL ADDRESS DELETED]> wrote:
>
>> mavenを実行すると、webモジュールは正常動作しますが、batchモジュールが
>> java.lang.NoClassDefFoundError: javax.servlet.http.HttpServletRequestで
>> 実行に失敗します。
> ...
>> 一方、2.4系のS2Containerのソースコードを見る限り、
>> requestなどが抽象化されていてweb以外の環境でも動きそうでした。
>>
>> そこで質問です。
>>
>> 1)S2Dao 1.0.43を2.4系のS2Containerと組み合わせれば、bizモジュールをweb、 
>> 
>> batchモジュールから共用することは可能でしょうか?
>
> Seasar 2.3系を使う場合には、servlet関係のjarファイル
> (例えばgeronimo-j2ee_1.4_spec-1.0.jar)が必要になります。
>
> ですから、Seasar 2.3系 + S2Daoでしたら
>
>    <dependency>
>      <groupId>org.apache.geronimo.specs</groupId>
>      <artifactId>geronimo-j2ee_1.4_spec</artifactId>
>      <version>1.0</version>
>      <type>jar</type>
>      <scope>provided</scope>
>    </dependency>
>
> をpox.xml加えて頂ければOKと思います。

batchモジュールのpom.xmlに

   <dependency>
      <groupId>org.apache.geronimo.specs</groupId>
      <artifactId>geronimo-j2ee_1.4_spec</artifactId>
      <version>1.0</version>
      <type>jar</type>
      <scope>runtime</scope>
    </dependency>

を追加したところ成功しました。
scope=prividedだとClassNotFoundが出ました。

>
> Seasar 2.4系 + S2Daoでしたら、requestなどがExternalContextで
> 抽象化されていますので、servlet関係のjarファイルが無くても動
> 作するかもしれません。(試したことが無いのでわかりません...)
>
>> 2)1)がYesの場合、上記pomの依存先を2.4系のS2Containerに変更すれば
>> うまく行きそうなのですが、Seasarのレポジトリ側でそのような変更は可能でしょうか?
>
> うーん、できればS2daoが提供するpom.xmlではSeasar 2.3系のまま
> にしておきたいです。
>
> - S2Dao 1.0.xはSeasar 2.3系を参照してきているので、S2Daoのマ
>  イナバージョンアップで依存先をSeasar 2.4系へ変更すると、
>  S2Dao(利用者)のバージョンアップが大変になる
>
> と考えているためです。
> (もちろん、要望が多ければ検討します)
>
> s2daoを参照するpom.xmlで、明示的にSeasar 2.4系へのdependency
> を記述してください。

参照先を上書きできるのですね。知りませんでした。

>
>> (このMLの話題として不適当ならば、どこに質問すればよいか教えてください。) 
>> 
>
> このMLでOKですー。
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
> 




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