- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:fedora10+eclipse3.42+tomcat6にて)
EclipseとTomcatの配置問題について
このQ&Aのポイント
- JavaとTomcatを組み合わせた開発環境で、EclipseとTomcatの配置に関する問題が発生しています。
- 動的Webプロジェクトでプロジェクトを作成すると、Javaソースの場所やクラスの出力場所が正しく設定されないため、Tomcatの機能が正常に動作しません。
- Eclipseのバージョンや開発者の選択する解決策によって、この配置の問題は解決されています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#94983
回答No.1
Eclipse上でTomcatを起動し実行する場合は、ソースがsrc内にあっても認識する(そのようにTomcatの設定が変更された状態で起動する)ので通常は問題なく動くはず。もしそうならないとしたら、サーバーに生成されているTomcat関係の設定ファイルがおかしいのかも知れない。 もし正しい状態で、ということなら、プロジェクトの設定で、ソースのビルド先をWEB-INF/classesに変更すれば問題ないはず。 また完成したらWarファイルにエクスポートしデプロイする。Warに出力すると、すべてのファイルは通常の配置として書き出されるようになっている。
補足
ありがとうございます。 実はコンパイルの生成物の出力先は ProjectX/classpath: <?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_13"/> <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v6.0"/> <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/> <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/> <classpathentry kind="output" path="build/classes"/> </classpath> を <?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_13"/> <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v6.0"/> <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/> <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/> <classpathentry kind="output" path="WebContent/WEB-INF/classes"/> </classpath> に変更してProjectX/buileフォルダを削除すれば解決することは試行錯誤によって分かっていました。 (Javaプロジェクトのように動的Webプロジェクトも出力先を設定出きるようになっていればよかったのになぜなっていないのだろう) ところが Add External JarsでStruts関連Jarを追加すればコンパイルはできますが Eclispeのサーバ画面からの起動では実行時エラーが発生します。 ProjectX/WebContent/WEB-INF/lib に物理的にStruts関連Jarファイルを入れれば Add External JarsでStruts関連Jarを追加しなくても コンパイルもでき実行時エラーもでません。 logger_manさんは ProjectX/WebContent/WEB-INF/lib にStruts関連Jarを入れなくてもEclipseからのTomcatサーバ起動で 実行時エラーは発生していないのでしょうか? ProjectX/WebContent/WEB-INF/lib は本当に空っぽになっていますか? なお、Tomcat6をeclipseとは関係なく動かしている場合にはまったく問題なく warファイル云々の話は必要ありません。 よろしくお願いします。