
過去に開発したWebアプリをEclipseを使用して再開発し直してみようと挑戦中ですが、以下のエラーが解決できず困っています。
*****
org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
JSPファイル: null の中の行: -1でエラーが発生しました
生成されたサーブレットのエラーです:
[javac] Compiling 1 source file
E:\AddProgram\Eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Standalone\localhost\XXX\login_jsp.java:10: java.lang.Object にアクセスできません。
クラスファイル E:\AddProgram\Eclipse\eclipse\jre\lib\rt.jar(java/lang/Object.class) は不正です。
クラスファイルのバージョン 49.0 は不正です。48.0 であるべきです。
削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。
public class login_jsp extends HttpJspBase {
^
エラー 1 個
*****
Javaビルドパス-クラスパス変数は j2sdk1.4.2\jre\lib\rt.jarになっているし、
Javaコンパイラーの準拠レベルは1.4になっているし、
JAVA_HOMEやPATHもj2sdk1.4.2、j2sdk1.4.2\binになっているんですが、何故別のjarを参照してしまっているのでしょうか?
Eclipseの再起動、JRE1.4.2の再インストールなども試みましたが、解決せず悩んでいます。解決方法をご存知の方、ご教授ください。
■環境(最終的に落ち着いた使用バージョンは以下の通り。)
・EclipsePleiadesAllinOneJava3_4_2
・java 1.4.2
・Tomcat 4.1.31
・Apache 2.0.53
・MySQL 4.0.25
No.2ベストアンサー
- 回答日時:
やっぱり、EclipseにJREがあるようですね。
これが原因ではないでしょうか。Eclipseは、同じフォルダ内にJREがあると、デフォルトのJREではなくそちらを使って起動しますので、それで1.4が使われずクラスライブラリのバージョン問題が発生しているのではないでしょうか。EclipseのJREを他の場所に移動して起動したらどうでしょうか。それでダメなら、JREなしのものをいれて試してみるのがよいかと思います。
結局、JREをリネーム、移動しても、コンパイラーを1.5や1.6にしても(Tomcatもバージョン変更)解決せず、JREなしのEclipseをDL、インストールしました。ところが、いろいろ調べていく中で、Eclipse3.4.2はJRE1.5以上じゃないと動作しないことが判明し、最終的には、再度JRE付Eclipseを別サイトからDL、インストールし、初めからやり直しました。
最終的にはJRE1.5、Tomcat5.5で正常に過去に開発したWebアプリが動作しました。
いろいろアドバイスありがとうございました!
コーディングで悩むのは楽しいものですが、環境設定でつまずくのは中々辛いものですね・・・(^^;
No.1
- 回答日時:
JREでver.5(1.5)のものがどこかにインストールされていませんか? コンパイル時に、このクラスライブラリを見に行っているために「クラスファイルのバージョン 49.0 は不正です」と出てくるのだと思います。
つまり、jdk 1.4から、jre 5(1.5)のクラスを利用しようとして「それは使えない」といわれているのでしょう。どうしてもそのバージョンのJDK+Tomcatでないといけない理由があるのでしょうか。個人的には、おそらく過去に開発したものも基本的には最新のJDKで動くはずですので、JDKとTomcatを最新版にして改めて開発するほうがよいようにも思います。
どうしてもバージョンアップは出来ないということになると、どこでver.5のクラスライブラリが呼ばれることになっているのかわからないのですが、JRE 5.xがあればアンインストールして、最新が1.4台となるようにして確認してみるしかないかも知れません。
あるいは、今気が付きましたが、EclipsePleiadesAllinOneJava3_4_2がJREが付きで、これに入っているJREがver.5ってことはないですか? AllinOneパッケージは、その中に用意されているJREで動きますので、プラットフォームにどのJREがあろうが関係ないです。JREなしのものを使っているでしょうか? そのへんも確認してみてはいかがでしょうか。
この回答への補足
早速の回答ありがとうございます!
JREのバージョンにこだわっているわけではありません。(過去に開発した時には、ApacheやTomcatやMySQLなどのバージョンの組み合わせでうまく動作しないことがありましたが、JREは特に問題ないと考えています。)
現状、jreの導入状態は以下の通りで、
*****
Eclipse\eclipse\jre java version "1.6.0_13"
Eclipse\jre1.4 java version "1.4.2_19"
Eclipse\jre1.5 java version "1.5.0_18"
Eclipse\jre1.6 java version "1.6.0_13"
C:\MyPGM\j2sdk1.4.2 java version "1.4.2"
*****
コマンドプロンプトで確認すると java version "1.5.0_06" と出るので、どこかでパスが通ってるようなんですが、環境変数(システム、ユーザ)の%PATH%にも%CLASSPATH%にも通ってないし、1.5をアンインストールしようにも、スタートメニューやコントロールパネルのアプリの削除でも出てこないため、1.5のアンインストールもできません。(jre1.5のフォルダの中にもアンインストーラがない。。)
Eclipseごとアンインストールして、JREなしのEclipseを再インストールするしか方法はないのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
JSPのクラスをコンパイルできない問題
Java
-
JSPファイルで生じるエラーをどのように修正するか分かりません
Java
-
JSPでImportエラーになります
Java
-
-
4
java eclipse 型に解決できません
Java
-
5
開発初心者です。eclipseでJSPファイルの更新結果が画面に反映さ
Java
-
6
Excelで数値→文字列変換で指数表示になったものをいっぺんに直したい
Excel(エクセル)
-
7
JSPのNULLレコード表示について教えて下さい。
Java
-
8
org.xml.sax.SAXParseException エラーについて
Java
-
9
Eclipseで、プロジェクト名のところに赤いバッテンのエラーマークが
Java
-
10
リクエストに応じたselectedの初期値設定方法
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
中学のクラス数
-
UMLのクラス図はmain()も含むん...
-
Cstring(日本語含む)をcharに...
-
サーブレットを始めようとした...
-
packageとimport の違いって?
-
CListCtrlクラスに初期化する関...
-
僕の出身中学校は200人同級生が...
-
明示的なserialVersionUIDの意...
-
どこからも呼ばれていない無意...
-
「囲うインスタンス」のエラー...
-
進学校通ってたんですけど、眼...
-
java eclipse 型に解決できません
-
dllと同じプロジェクトにする方法
-
3年間同じクラスになる確率
-
クラス名の「~Factory」って何?
-
ヒグマを撃退
-
エクセルVBAでのwitheventsにつ...
-
IPアドレスの3バイト目の呼び方
-
「タイプ初期化子が例外をスロ...
-
eclipse-Tomcatでのデバッグに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ヒグマを撃退
-
中学のクラス数
-
そんなにお金がなくても年に1度...
-
UMLのクラス図はmain()も含むん...
-
どこからも呼ばれていない無意...
-
java eclipse 型に解決できません
-
配列の重複する値とその個数を...
-
EclipseでJSPのコンパイルエラー
-
僕の出身中学校は200人同級生が...
-
コンボボックスのマウスホイー...
-
main()を持つクラスが2つ以上...
-
Cstring(日本語含む)をcharに...
-
同一パッケージにあるクラスが...
-
IPアドレスのクラスAを取得して...
-
dllと同じプロジェクトにする方法
-
標準モジュールとクラスモジュ...
-
VBAもしくはVB6:クラスの中で...
-
Sub-LVDS規格とは
-
同じクラスにならない確率を教...
-
複数のクラスで共通した関数を...
おすすめ情報