[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 メーリングリストの案内