超ハマりかけた。
GAEでServletとJSPを連携させるプログラムを作ってた時のこと。
環境はEclipse
作成時にjspファイルに×マークがついていたものの、
特に赤いラインが入っていなかったからキャッシュの問題かと思ってスルー。
いざjspを表示させようとすると
致命的: Javac exception
Compile failed; see the compiler error output for details.
org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
生成されたサーブレットのエラーです:
(上記は一部抜粋)
コンパイルエラー?
エラーログもっと詳しく出てほしいなとか思いつつ、
オリジナルで作ったクラスのimportとかを削除。
んで、再度実行。
表示はされるようになったけど、
これじゃ意味ない…w
HTMLと一緒orz
ListとかJavaの標準ライブラリはimportできるのになんでなんだ。
あまりにもコンパイルエラーが頻発しまくったせいで
jspって標準ライブラリ以外コンパイルできなかったっけ?
とか思いそうになるほど。
色々調べてみた結果
EclipseのコンパイラがJREになっていることが問題だった模様
あーあーあーあーあーあーーーーーー
GAEの場合、JSPは事前にサーブレットにコンパイルされるらしい。
そこでJREでEclipseを動かしているとコンパイルがされないという。。。
対応としては、
Eclipseのウィンドウ設定を開いて、Javaのインストール済みJREを選択
ここでJREを指定していたら上と同じ状態にあたる。
実行環境しかないって状態。
これをJDKに変えることで無事JSPが動いた。
とりあえずひと段落。