[Seasar-user:21957] Re: Cool Deployモードでjarファイル化して実行した場合のESSR0046コンポーネント見つからないエラー発生に関しまして

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2014年 9月 29日 (月) 10:39:31 JST


小林 (koichik)様
ご返信ありがとうございます。

> もしEclipseでJarファイルを作成しているなら、「Add directory entries」と
>いう
> チェックボックスをオンにしてJarを作り直してください。
ありがとうございます。
おかげさまで、ご指摘の内容の通り、jarファイルを作成することにより
正常に動作を確認するこができました。

以後、Eclipseでのjarファイル作成時には留意したいと思います。
ありがとうございました。


2014/09/26 18:49 に Koichi Kobayashi さんは書きました:
> 小林 (koichik) です。
> 
> Jarの中にディレクトリエントリがありませんね。
> 通常Jarコマンドで作成したJarには、
> 
> META-INF/
> sample/
> sample/batch/
> sample/batch/logic/
> 
> といったディレクトリを表現するエントリ(末尾がスラッシュ)が含まれます。
>
> この場合はルートパッケージに相当するsample/batch/が無いために
> 「ルートパッケージ(sample.batch)に対応するリソースがクラスパスから見つか
>りませんでした。」
> という警告が出力されています。
> 
> もしEclipseでJarファイルを作成しているなら、「Add directory entries」と
>いう
> チェックボックスをオンにしてJarを作り直してください。
> それ以外の方法で作成している場合は、その方法でディレクトリエントリを
> 作成する設定等を調べてJarを作り直してください。
> 
> 
> 2014年9月26日 18:09  <situmon0926 @ inter7.jp>:
>> 小林 (koichik)様
>> ご返信ありがとうございます。
>> 申し訳ありません。
>> メッセージが誤っておりました。見つからないのは「SampleLogic」です。
>> Smart Deploy想定でdiconに「SampleLogic」の定義は書いておりません。
>>
>> 実際の出力ログ、jarコマンド出力結果、diconファイルに関して以下へ記載い
>>> します。
>> 長文となります。
>>
>> * ログ内容
>> ----------------------------
>>
>> INFO  2014-09-26 17:45:07,158 [main] s2-frameworkのバージョンは2.4.47で
>>>>> INFO  2014-09-26 17:45:07,161 [main] s2-extensionのバージョンは2.4.47で
>>>>> INFO  2014-09-26 17:45:07,163 [main] s2-tigerのバージョンは2.4.47です。
>
>>
>> DEBUG 2014-09-26 17:45:07,259 [main] 環境変数#Envにファイル(env.txt)か
>>> 値(product)が設定されました
>> DEBUG 2014-09-26 17:45:07,381 [main] S2Containerを作成します。path=coo
>ld
>> eploy.dicon
>> DEBUG 2014-09-26 17:45:07,481 [main] S2Containerを作成しました。path=c
>oo
>> ldeploy.dicon
>> DEBUG 2014-09-26 17:45:07,498 [main] S2Containerを作成します。path=app
>.d
>> icon
>> DEBUG 2014-09-26 17:45:07,507 [main] S2Containerを作成します。path=aop
>.d
>> icon
>> DEBUG 2014-09-26 17:45:07,568 [main] S2Containerを作成しました。path=a
>op
>> .dicon
>> DEBUG 2014-09-26 17:45:07,569 [main] S2Containerを作成しました。path=a
>pp
>> .dicon
>> DEBUG 2014-09-26 17:45:07,569 [main] S2Containerを作成します。path=coo
>ld
>> eploy-autoregister.dicon
>> DEBUG 2014-09-26 17:45:07,576 [main] S2Containerを作成します。path=con
>ve
>> ntion.dicon
>> DEBUG 2014-09-26 17:45:07,611 [main] S2Containerを作成しました。path=c
>on
>> vention.dicon
>> DEBUG 2014-09-26 17:45:07,611 [main] S2Containerを作成します。path=cus
>to
>> mizer.dicon
>> DEBUG 2014-09-26 17:45:07,617 [main] S2Containerを作成します。path=def
>au
>> lt-customizer.dicon
>> DEBUG 2014-09-26 17:45:07,624 [main] S2Containerを作成します。path=std
>-c
>> ustomizer.dicon
>> DEBUG 2014-09-26 17:45:07,660 [main] S2Containerを作成しました。path=s
>td
>> -customizer.dicon
>> DEBUG 2014-09-26 17:45:07,673 [main] S2Containerを作成しました。path=d
>ef
>> ault-customizer.dicon
>> DEBUG 2014-09-26 17:45:07,675 [main] S2Containerを作成しました。path=c
>us
>> tomizer.dicon
>> DEBUG 2014-09-26 17:45:07,676 [main] S2Containerを作成します。path=cre
>at
>> or.dicon
>> DEBUG 2014-09-26 17:45:07,741 [main] S2Containerを作成しました。path=c
>re
>> ator.dicon
>> DEBUG 2014-09-26 17:45:07,745 [main] S2Containerを作成しました。path=c
>oo
>> ldeploy-autoregister.dicon
>> WARN  2014-09-26 17:45:07,774 [main] ルートパッケージ(sample.batch)に対
>>> するリソースがクラスパスから見つかりませんでした。
>> WARN  2014-09-26 17:45:07,783 [main] ルートパッケージ(sample.batch)に対
>>> するリソースがクラスパスから見つかりませんでした。
>> INFO  2014-09-26 17:45:07,785 [main] Running on [ENV]product,
>[DEPLOY
>> MODE]Cool Deploy
>> Exception in thread "main"
>org.seasar.framework.container.ComponentNotFo
>> undRuntimeException: [ESSR0046]コンポーネント(interface sample.batch.l
>og
>> ic.SampleLogic)が見つかりません
>>         at
>>>org.seasar.framework.container.impl.S2ContainerBehavior$DefaultProvider.acquireFromGetComponentDef(S2ContainerBehavior.java:165)
>>         at
>>>org.seasar.framework.container.impl.S2ContainerBehavior$DefaultProvider.acquireFromGetComponent(S2ContainerBehavior.java:158)
>>         at
>>>org.seasar.framework.container.impl.S2ContainerBehavior.acquireFromGetComponent(S2ContainerBehavior.java:62)
>>         at
>>>org.seasar.framework.container.impl.S2ContainerImpl.getComponent(S2ContainerImpl.java:124)
>>         at
>>>org.seasar.framework.container.SingletonS2Container.getComponent(SingletonS2Container.java:43)
>>         at
>sample.main.SampleBachMain.execute(SampleBachMain.java:25)
>>         at sample.main.SampleBachMain.main(SampleBachMain.java:15)
>>
>> =================================================
>>
>> * jar -tf 出力結果
>> ----------------------------
>>
>> META-INF/MANIFEST.MF
>> sample/batch/logic/SampleLogic.class
>> sample/batch/logic/impl/SampleLogicImpl.class
>> sample/main/SampleBachMain.class
>>
>> * クラスパスに通しているresourceファイル
>> ** app.dicon
>> -------------------------
>> <?xml version="1.0" encoding="Shift_JIS"?>
>> <!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
>>         "http://www.seasar.org/dtd/components21.dtd">
>> <components>
>>         <include path="aop.dicon"/>
>> </components>
>>
>> ** convention.dicon
>> -------------------------
>> <?xml version="1.0" encoding="UTF-8"?>
>> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
>>         "http://www.seasar.org/dtd/components24.dtd">
>> <components>
>>         <component
>> class="org.seasar.framework.convention.impl.NamingConventionImpl">
>>                 <initMethod name="addRootPackageName">
>>                         <arg>"sample.batch"</arg>
>>                 </initMethod>
>>         </component>
>>         <component
>>>class="org.seasar.framework.convention.impl.PersistenceConventionImpl"/>
>> </components>
>> ** creator.dicon
>>         seasarのアーカイブ含まれるファイルそのまま
>> ** customizer.dicon
>>         seasarのアーカイブ含まれるファイルそのまま
>> ** env.txt
>> ** log4j.properties
>>
>> ** s2container.dicon
>> -------------------------
>> <?xml version="1.0" encoding="UTF-8"?>
>> <!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
>>     "http://www.seasar.org/dtd/components24.dtd"
>>>
>> <components>
>>     <include condition="#ENV == 'ut'" path="warmdeploy.dicon"/>
>>     <include condition="#ENV == 'ct'" path="hotdeploy.dicon"/>
>>     <include condition="#ENV != 'ut' and #ENV != 'ct'"
>> path="cooldeploy.dicon"/>
>> </components>
>>
>>
>>
>>
>>
>>>小林 (koichik) です。
>>
>>>実行時のログを見せてもらえますか?
>>
>>>見つからないのはSampleBatchMainですが、
>>>これをSampleLogicImplにDIしてるのでしょうか?
>>>だとすると、SampleBatchMainはdiconでどのように定義
>>>しているのでしょうか? (diconを見せてもらうのが早そう)
>>
>>>あと、jar tf xxx.jar で出力される内容も見せてください。
>>
>>
>> _______________________________________________
>> Seasar-user mailing list
>> Seasar-user @ ml.seasar.org
>> https://ml.seasar.org/mailman/listinfo/seasar-user
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user



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