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

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2014年 9月 26日 (金) 18:09:35 JST


小林 (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=coold
eploy.dicon
DEBUG 2014-09-26 17:45:07,481 [main] S2Containerを作成しました。path=coo
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=aop
.dicon
DEBUG 2014-09-26 17:45:07,569 [main] S2Containerを作成しました。path=app
.dicon
DEBUG 2014-09-26 17:45:07,569 [main] S2Containerを作成します。path=coold
eploy-autoregister.dicon
DEBUG 2014-09-26 17:45:07,576 [main] S2Containerを作成します。path=conve
ntion.dicon
DEBUG 2014-09-26 17:45:07,611 [main] S2Containerを作成しました。path=con
vention.dicon
DEBUG 2014-09-26 17:45:07,611 [main] S2Containerを作成します。path=custo
mizer.dicon
DEBUG 2014-09-26 17:45:07,617 [main] S2Containerを作成します。path=defau
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=std
-customizer.dicon
DEBUG 2014-09-26 17:45:07,673 [main] S2Containerを作成しました。path=def
ault-customizer.dicon
DEBUG 2014-09-26 17:45:07,675 [main] S2Containerを作成しました。path=cus
tomizer.dicon
DEBUG 2014-09-26 17:45:07,676 [main] S2Containerを作成します。path=creat
or.dicon
DEBUG 2014-09-26 17:45:07,741 [main] S2Containerを作成しました。path=cre
ator.dicon
DEBUG 2014-09-26 17:45:07,745 [main] S2Containerを作成しました。path=coo
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.log
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 メーリングリストの案内