[Seasar-user:21637] Re: Jetty7 + Teeda で実行可能 war を作成して実行すると実行時例外 ESSR0046 が発生する。
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2013年 6月 26日 (水) 04:00:00 JST
小林 (koichik) です.
おそらく実行可能 War の中の Jar の中のエントリを
ClassLoader.getResource() した際に返ってくる
URL が想定していない形式になっていて、コンポーネントの
自動登録ができていないのだと思われます。
元々アプリケーションサーバによって様々な形式の
URL が返されるので、WAS や WLS などその一部には
以下のクラスで対応しているのですが、
org.seasar.framework.util.ResourcesUtil
Jetty に対しても対応するコードが必要なのだと
思います。
どんな URL が返されるのか、調査してもらえれば
対応を検討します。
# Jetty 好きな川島さんが教えてくれないかなー? (チラッ
On Tue, 25 Jun 2013 16:02:58 +0900, AkiraTanikawa <tanikawa @ esm.co.jp> wrote:
> 初めまして。谷川哲です。
>
>
>
> Jetty7(*1) + Teeda(*2) で 実行可能 war (*3) を作成して実行すると
> ―――――――――――――――――――――――――――――――――
> 「[ESSR0046] コンポーネントが見つからないが見つかりません。」
> ―――――――――――――――――――――――――――――――――
> というエラー(*4)が発生して Page が表示されません。
>
>
> ※ war を jetty\webapps フォルダ にコピーして Jetty を起動(*5)すると
> (実行時例外が発生せず)Pageが表示されます。
>
>
> 恐らく 実行可能 war 内の設定ファイル(*6)の設定不足か、設定ファイルが
> 読み込まれていないことが原因と予想しておりますが、何をどう設定すれば
> よいのかが分かりません。
>
>
> どなたかご教授願えませんでしょうか。
> よろしくお願いいたします。
>
>
>
>
> (*1) jetty-distribution-7.6.10.v20130312
>
> (*2) 実行環境
> ・Seaser2 は 2.4.45
> ・Teedaは 1.0.13-sp11
> ・Javaは 1.6
> ・OSは Windows7 (32bit)
>
>
> (*3) 実行可能 war 作成で参考にしたサイト http://qiita.com/k_ui/items/1d3bbbd7993c4c9adf71
> jetty とその他ライブラリのclassファイルをwar 内のルートフォルダ直下に配置しています。
>
>
> (*4) エラーログ抜粋
> ---------------------------------------------------------------------------------
> 13-06-21 15:14:48,522 [qtp9800632-24] DEBUG org.seasar.teeda.extension.util.TeedaExtensionErrorPageManagerImpl - [ESSR0046]コンポーネント(javax.faces.Command.org.seasar.teeda.extension.HtmlCommandButton)が見つかりません
> org.seasar.framework.container.ComponentNotFoundRuntimeException: [ESSR0046]コンポーネント(javax.faces.Command.org.seasar.teeda.extension.HtmlCommandButton)が見つかりません
> at org.seasar.framework.container.impl.S2ContainerBehavior$DefaultProvider.acquireFromGetComponentDef(S2ContainerBehavior.java:165)
> at org.seasar.framework.container.impl.S2ContainerBehavior$DefaultProvider.acquireFromGetComponent(S2ContainerBehavior.java:158)
> :
> :
> 2013-06-21 15:14:48,643 [qtp9800632-24] DEBUG org.seasar.teeda.extension.util.TeedaExtensionErrorPageManagerImpl - [ESSR0046]コンポーネント(javax.faces.ViewRoot.org.seasar.teeda.extension.ViewRoot)が見つかりません
> org.seasar.framework.container.ComponentNotFoundRuntimeException: [ESSR0046]コンポーネント(javax.faces.ViewRoot.org.seasar.teeda.extension.ViewRoot)が見つかりません
> at org.seasar.framework.container.impl.S2ContainerBehavior$DefaultProvider.acquireFromGetComponentDef(S2ContainerBehavior.java:165)
> at org.seasar.framework.container.impl.S2ContainerBehavior$DefaultProvider.acquireFromGetComponent(S2ContainerBehavior.java:158)
> :
> ---------------------------------------------------------------------------------
>
> (*5) コマンドプロンプト画面で "java.exe -jar start.jar"を実行
>
> (*6) 設定ファイルの場所
> ・ web.xml jetty.xml faces-config.xml は war 内の /WEB-INF に配置
> ・ dicon ファイルは war内の /WEB-INF/classes に配置
>
>
> 以上です。
>
>
>
>
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user
--
{
name: "Koichi Kobayashi",
mail: "koichik @ improvement.jp",
blog: "http://d.hatena.ne.jp/koichik/",
twitter: "@koichik"
}
Seasar-user メーリングリストの案内