- ベストアンサー
ディレクトリ構成とエラーの解決方法
- JAVA初心者の方がstruts(1.2.4)を利用してEclipse(3.1)で開発を練習している際、ディレクトリ構成が整理されていないように感じることがあります。WEB-INF/srcとWEB-INFの違いや、WEB-INFについて表示されるエラーについて解説します。
- ディレクトリ構成について、Eclipse内のプロジェクトフォルダにはJREシステムライブラリやservlet.jar、runtime.jarなどのファイルがあります。また、WEB-INF以下にはlibフォルダとxmlファイル、tldファイルがあります。WEB-INF/srcはJavaのソースファイルを格納するディレクトリです。
- WEB-INFとWEB-INF/srcの違いについては、WEB-INFはWebアプリケーションのルートディレクトリで、WEB-INF以下にはリソースファイルやクラスファイルを配置します。一方、WEB-INF/srcはソースファイルを配置するためのディレクトリです。エラー表示される×印については、コンパイルエラーではなく、エラーマークを表示するためのマークアップファイルが不足しているためです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
絵を見せれないので説明が難しいですね。。。 >WEB-INFのフォルダより上の階層にソースフォルダをおく為にWEB-INF/srcがあるってことでしょうか? 最初に書きましたが、WEB-INF/srcはEclipseが表示の仕方として持っている【ソースフォルダ】という属性にして表示しているだけで物理的に特別なフォルダを作っているわけではありません。 おそらく質問者様は現在パースペクティブが【Java】で見ているのでしょう。それを【リソース】に変更してみてください。おそらく質問者様がこうあるべきだ!というフォルダ構成で表示されるはずです。 物理的にWEB-INFの上にWEB-INF/srcフォルダがあるわけではありません。 >そもそもWEB-INFの下にソースフォルダは置かないと駄目なんでしょうか? ダメ(なハズ)です。Tomcatの仕様(なハズ)です。 間違っていたらどなたかご指摘ください。
その他の回答 (1)
- braver_2004
- ベストアンサー率62% (20/32)
まったく同じ環境で確認していないのでわかるところまででアドバイスを。 WEB-INF/srcとWEB-INFの違いは WEB-INF/srcはソースフォルダのアイコンのはずです。 WEB-INF配下のソースフォルダのみを抽出して通常その配下にパッケージフォルダを作成するようになっています。またそれによりEclipse上のWEB-INFの配下にはsrcフォルダが見えないはずです。 Eclipse上の見え方だけですので、実際のフォルダ構成としてはWEB-INFに全て配置されいるはずです。 あと、WEB-INFにx印がついているということですが、Eclipseの環境によりけりですが、ソースのコンパイルエラーチェック以外にxmlファイルが存在する場合はxmlの構文チェックも行っています。もしかすると何かしらのxmlファイルがエラーなのかもしれません。 あと、servlet.jarとruntime.jarですが、Tomcatプラグインを使用すると、設定でTOMCAT_HOMEを指定することができるはずです。Tomcatプラグインのプロジェクトであるならば、上記を指定することでTOMCAT_HOME/common/lib/servlet.jar ~をインクルードしたはず・・・。 確かめてみてください。
お礼
ありがとうございます。 >WEB-INF配下のソースフォルダのみを抽出して通常その配下にパッケー>ジフォルダを作成するようになっています。またそれによりEclipse上>のWEB-INFの配下にはsrcフォルダが見えないはずです。 >Eclipse上の見え方だけですので、実際のフォルダ構成としてはWEB->INFに全て配置されいるはずです。 とのことですが、WEB-INFのフォルダより上の階層にソースフォルダをおく為にWEB-INF/srcがあるってことでしょうか?WEB-INFより上の階層に新規フォルダ(srcという名前で)を作ってもWEB-INFの配下のsrcは見えるってことでしょうか?そもそもWEB-INFの下にソースフォルダは置かないと駄目なんでしょうか? なんだかわかりづらくてすいません…宜しくお願いします。
お礼
ありがとうございます。 よく理解できました。 実際WEB-INF/srcにjavaファイルを作ったら、パースペクティブのJAVA上ではWEB-INF配下のsrcにはファイルができていないが、リソースパースペクティブのWEB-INF配下srcにはファイルが作られていました。 仮想フォルダみたいなものだと理解しました。 色々丁寧な指導ありがとうございます。