[Seasar-user:8075] Re: [Teeda]存在しているはずのHTMLが見つからない。

Taro Unno [E-MAIL ADDRESS DELETED]
2007年 6月 5日 (火) 16:25:57 JST


後藤(goto)さん

> {アプリ名}/WEB-INF/classes
> の下にviewフォルダができてしまうことがありました。
これが原因でした。
WTPを使い始めて日が浅く、WTPのキャッシュに考えが及びませんでした。
ありがとうございました。

解決手順としては、
1.Eclipseのプロジェクトを1度削除する。
2.SVNからEclipseにプロジェクトをインポートする。
3.mvn eclipse:eclipse -Dwtpversion=1.5を実行する。
  org.eclipse.wst.common.componentの内容に
  <wb-resource deploy-path="/WEB-INF/classes"
source-path="src/main/webapp/view"/>
  がないことを確認する。
4.Eclipseのプロジェクトを更新してから、クリーンビルドする。
5.Tomcatを起動する。
でいけました。

ただ、
> <wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/webapp/view"/>
> みたいな記述があるとこの現象が起こります。
というのは必ずではないかもしれません。

というのは、pom.xmlに<resources>の類は指定していないので
viewフォルダがソースフォルダではなかったため、
viewフォルダ右クリック-[ビルド・パス]-[ソース・フォルダとして使用]
で指定したところ、上記の<wb-resource ....が追加されましたが、
正常に動作しました。

ということで、WTPのキャッシュ上でhtmlファイルの場所がおかしかったことが
存在するはずのHTMLが見つからなかった原因ぽいですが、
なぜそうなったかは不明です。

大谷さん
先に上記の方をあたって解決してしまったので、Tomcatプラグインは試しておりません。
せっかくアドバイスくださったのにすみませんが、今回はこれでよしとさせてください。
勉強になりました。



07/06/04 に O.Goto<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 後藤(goto)です。
>
> WTPであれば、
> {eclipseのワークスペースディレクトリ}/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps/
> の(tmp0の「0」は場合によっては0以上の値になります。)
>
> {アプリ名}/view
> にHTMLファイルがあるかどうか確認して頂けますか。
>
> これはWTPでの経験ですが、
> {アプリ名}/WEB-INF/classes
> の下にviewフォルダができてしまうことがありました。
>
> {eclipseのワークスペースディレクトリ}/{プロジェクト名}/.settings/org.eclipse.wst.common.component
> の中に
> <wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/webapp/view"/>
> みたいな記述があるとこの現象が起こります。
>
> 確かMavenとの併用でpom.xmlファイルの<resources>にviewフォルダを書いていたのが原因だったと記憶しています。
> 正しい方法か自信はありませんが、私の場合は、<testResources>にviewフォルダを記述して回避しています。
>
> はずしていたらすみません。
> よろしくお願いします。
>
> On Mon, 4 Jun 2007 18:53:25 +0900
> "Shinpei Ohtani" <[E-MAIL ADDRESS DELETED]> wrote:
>
> > 大谷です。
> >
> > 原因の切り分けのため、WTPではなく、Tomcatプラグインで
> > 稼動確認をとってもらえるでしょうか。
> > 一応こちらではTomcat5.5+Tomcatプラグインで正常に稼動しています。
> >
> > 宜しくお願いします。
> >
> > 07/06/04 に Taro Unno<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > > 大谷さん
> > >
> > > 早速のご回答ありがとうございました。
> > > 次の通り確認致しました。
> > >
> > > > ・Pageクラスが、aaa.bbb.CccPageかどうか。
> > >
> > > aaa.bbb.CccPage
> > > です。
> > > (htmlからOpen Pair Pageで作成したクラスであり、
> > > prerenderメソッドをカスタマイズして動かせていました。)
> > >
> > >
> > > > ・/view/aaa/bbb/ccc.htmlのリソースがきちんとよまれているか。
> > > > (出来れば、Tomcatのworkディレクトリ以下を削除した後、
> > > > クリーンビルドしてもう一度やってみてください。)
> > > WTPのサーバ設定で、
> > > Run modules directly from the workspace(do not modify the Tomcat installation)
> > > にチェックしてあるのでTomcatのworkディレクトリは使用していないと思っているのですが
> > > 念のため削除し、Eclipseで[プロジェクト]-[クリーン]で再ビルドしましたが
> > > 状況は変わりませんでした。
> > >
> > >
> > > HtmlDescCacheImpl.java:94行目でHtmlNotFoundRuntimeExcpetion
> > > が投げられる直前で
> > > org.seasar.teeda.core.util.ServletContextUtil#getResourceメソッド内で
> > > javax.servlet.ServletContext.getResource("/view/aaa/bbb/ccc.html")
> > > の戻り値がnullになっているのが一因のようですが、
> > > ここで上記htmlが見つからない理由がわかりません。
> > >
> > > この時点でServletContext内にはhtmlがあることが前提なんですよね。
> > > ServletContextにhtmlが読み込まれる箇所がどこか、というのが
> > > 何かヒントになりませんでしょうか。
> > > (見当違いでしたらすみません。)
> > >
> > >
> > > > ・DynamicPropertyを削除した場合にどうなりますでしょうか。
> > >
> > > <li><span id="mmm" class="">てすと</span></li>
> > > を
> > > <li><span id="mmm">てすと</span></li>
> > > に戻し、PageクラスのgetMmmClassメソッドをまるまるコメントアウトしたのですが
> > > 状況は変わりませんでした。
> > > (メソッドを削除しても同様でした。)
> > >
> > >
> > > > ・convention.diconでRootPackage指定が/view以外に書き換わったりしていないでしょうか?
> > >
> > > ChuraProject作成時に生成されたconvention.diconをそのまま使用しておりまして
> > > 定義されているのは下記の内容のみです。
> > > (jp.co.yyy.xxxはルートパッケージ名です。)
> > >
> > > <components>
> > >         <component class="org.seasar.framework.convention.impl.NamingConventionImpl">
> > >                 <initMethod name="addRootPackageName">
> > >                         <arg>"jp.co.yyy.xxx"</arg>
> > >                 </initMethod>
> > >         </component>
> > > </components>
> > >
> > >
> > > 他に何か確認・調査すべきところがありましたら、
> > > アドバイスをお願い致します。
> > >
> > > 海野
> > >
> > >
> > >
> > >
> > > 07/06/04 に Shinpei Ohtani<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > > > 大谷です。
> > > >
> > > > 確認しなくてはいけない点は下記になります。
> > > > ・Pageクラスが、aaa.bbb.CccPageかどうか。
> > > > ・/view/aaa/bbb/ccc.htmlのリソースがきちんとよまれているか。
> > > > (出来れば、Tomcatのworkディレクトリ以下を削除した後、
> > > > クリーンビルドしてもう一度やってみてください。)
> > > > ・DynamicPropertyを削除した場合にどうなりますでしょうか。
> > > > ・convention.diconでRootPackage指定が/view以外に書き換わったりしていないでしょうか?
> > > >
> > > > 確認宜しくお願いします。
> > > >
> > > > 07/06/04 に Taro Unno<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > > > > 海野と申します。
> > > > >
> > > > > Tomcat5.5.23
> > > > > Seasar2.4.13
> > > > > Teeda1.0.7
> > > > > Eclipse3.2(WTP1.5)
> > > > > Dolteng0.19.2
> > > > >
> > > > > で開発しております。
> > > > >
> > > > > 下記のようなスタックトレースが出力されるのですが
> > > > > (添付から抜粋しました。)、原因を突き止められず困っております。
> > > > >
> > > > > DEBUG 2007-06-04 11:06:53,302 [http-8080-Processor25] HOT deployを開始します
> > > > > DEBUG 2007-06-04 11:06:53,317 [http-8080-Processor25] [ETDA0107]HTML
> > > > > (/view/aaa/bbb/ccc.html)が見つかりません。
> > > > > org.seasar.teeda.extension.exception.HtmlNotFoundRuntimeExcpetion: [ETDA0107]
> > > > > HTML(/view/aaa/bbb/ccc.html)が見つかりません。
> > > > >        at
> > > > > org.seasar.teeda.extension.html.impl.HtmlDescCacheImpl.createHtmlDescFromResourc
> > > > > e(HtmlDescCacheImpl.java:94)
> > > > >        at
> > > > > org.seasar.teeda.extension.html.impl.HtmlDescCacheImpl.createHtmlDesc
> > > > > (HtmlDescCacheImpl.java:78)
> > > > >        at
> > > > > org.seasar.teeda.extension.html.impl.TagProcessorCacheImpl.updateTagProcessor
> > > > > (TagProcessorCacheImpl.java:75)
> > > > > (以下省略)
> > > > >
> > > > > /view/aaa/bbb/ccc.htmlが存在しないといわれているのですが、存在しています。
> > > > > Pageクラスもあり、何度も動かした画面なのですが、ある時から
> > > > > 上記のエラーが発生するようになってしまいました。
> > > > >
> > > > > 思い当たる「ある時」とは、DynamicProperty機能を試そうと思い
> > > > > htmlの
> > > > >
> > > > > <ul>
> > > > > <li><span id="mmm">てすと</span></li>
> > > > > </ul>
> > > > >
> > > > > を下記のようにclass属性を追加して
> > > > >
> > > > > <li><span id="mmm" class="">てすと</span></li>
> > > > >
> > > > > Pageクラスに
> > > > >
> > > > >  public String getMmmClass() {
> > > > >  return "classname";
> > > > >  }
> > > > >
> > > > > として、実行してみたことです。(これは何かまずかったでしょうか。)
> > > > > 上記の変更を元に戻しても、上記のエラーが発生し続けるようになってしまいました。
> > > > >
> > > > > 再び画面を表示する為に、
> > > > > どのあたりを調査すればよいかだけでもアドバイスくださいませんでしょうか。
> > > > > 不足の情報や、こちらにまずい点などがありましたら、ご指摘ください。
> > > > >
> > > > > 以上、宜しくお願い致します。
> > > > >
> > > > >
> > > > > --
> > > > > [E-MAIL ADDRESS DELETED]
> > > > >
> > > > > _______________________________________________
> > > > > Seasar-user mailing list
> > > > > [E-MAIL ADDRESS DELETED]
> > > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > =============================
> > > > Shinpei Ohtani
> > > > [E-MAIL ADDRESS DELETED]
> > > > =============================
> > > > _______________________________________________
> > > > Seasar-user mailing list
> > > > [E-MAIL ADDRESS DELETED]
> > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > >
> > > --
> > > [E-MAIL ADDRESS DELETED]
> > > _______________________________________________
> > > Seasar-user mailing list
> > > [E-MAIL ADDRESS DELETED]
> > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > >
> >
> >
> > --
> > =============================
> > Shinpei Ohtani
> > [E-MAIL ADDRESS DELETED]
> > =============================
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> >
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>



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