質問: Windows10上で、Eclipse4.4で、JSPやJAVAのプログラムを開発しています。 大昔?のプロジェクトの修正を依頼され、 Eclipseから、CVSで、既存プロジェクトを取り出し、エラーがなくビルドできているのですが、 ローカル上で、ブラウザから、 http://localhost:8080/qa/admin/index.jspを呼び出したところ、 commonフォルダ?が見つからない?ようなエラーが発生します。 ※今まで、いくつもの他の案件で、Eclipseや既存プロジェクトの開発や改修をしましたが、 この現象は、初めてで、Eclipseの設定を変えたり、見直したり、ネットで検索しても情報がなかったりで、行き詰っています。 ※プロジェクトのフォルダを移動したり、再起動、リフレッシュ、再ビルドなども当然やっていますが、現象が変わらず。 ■JavaとTomcatのバージョン ※古っ!! ``` Java:1.4 Tomcat:Tomcat4.1 ``` ■JSPの先頭部分で、エラーが出ているので、その部分を下記します。 ``` <%@ page language='java' contentType="text/html; charset=utf-8" session="true" %><% ~以下省略~ ``` ■index.jspのある場所 ``` C:\Eclipse\4.4Luna-goigoi\qa\JSP\admin\index.jsp ``` ■commonのclassがあるフォルダ ``` C:\Eclipse\4.4Luna-goigoi\qa\JSP\WEB-INF\classes\common\ ``` ■EclipseのTomcatのプロパティーの設定の一部。 ``` WEBアプリケーション・ルートとするサブディレクトリー(オプション):/JSP ``` ■ブラウザに表示されるエラー内容 ``` HTTP Status 500 - type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: JSPのクラスをコンパイルできません JSPファイル: /admin/index.jsp の中の行: 1でエラーが発生しました 生成されたサーブレットのエラーです: [javac] Compiling 1 source file C:\Eclipse\4.4Luna-goigoi\qa\work\org\apache\jsp\admin\index_jsp.java:41: パッケージ common は存在しません。 ``` 上記のエラーについですが、 index.jspが、index_jsp.java と名前が変わっているのは、jspが自動でコンパイルされたときに勝手につけられた名前と考えます(ソースには、index_jsp.javaとうファイルは存在しない)。 原因や対応方法が、わかりますでしょうか?、試してみることはありますでしょうか?
回答: 解決しました。 原因は不明ですが、今までの多数のEclipseの開発では、 C:\Eclipse - 開発プロジェクト\project1 C:\Eclipse - 開発プロジェクト\project_apple などのように、 フォルダを作成しており、問題なく、ビルドでき、ローカルでのTomcatも起動でき、 ローカルでのテストができていました。 今回の古い過去のプロジェクトをCVSで、取り出し、古いJava、古いtomcatをインストールし、 ローカルでの改修の動作テストをしようとしていたのですが、 Javaのビルドは、正常。 tocat自体の起動はでき、JSPやHTMLの呼び出しは、できていたが、 JSPないから、common(classファイルが入っている)が見つからないというエラーが発生。 今までと、今回との違いは、Tomcatのバージョンが、一番古いという点です。 そこで、日本語を含むフォルダ名に対応していないのでは?と考え、 Eclipseのフォルダ名の日本語部分を、英語に直し、EclipseのTomcatのメニューで、「コンテキストの定義を更新」の一つだけ、設定(動作)をしたところ、 ローカルで、Tomcat4.1が、JSP内からのcommonフォルダを認識し、JSPが正常に動作しました。 実例 ⇒ C:\Eclipse - Project\qa ※参考:フォルダ名に、記号やスペースが入っていても、正常に動作します。 ということで、 Tomcatが古い場合、Eclipseのプロジェクトが入ったパスに、全角文字が入っているとTomcatがパスの認識(探す)?に失敗するようです。 Tomcat5.5では、日本語を含んだEclipseのプロジェクトフォルダでも、正常に動作します。 以上、自己解決の記録です。