- PR -

JSPのクラス作成場所がおかしい

1
投稿者投稿内容
ringo
会議室デビュー日: 2006/05/12
投稿数: 16
投稿日時: 2006-05-12 12:11
初めて投稿させていただきます。
Javaのことをあまりよく分かっていないので件名が既におかしいかもしれませんが、
JSPを実行してみたら、変な位置に.javaファイルが作成されてしまい、なおかつ
実行エラーが表示されてしまう という事象で悩んでおります。


Javaを1から勉強すべく、友人から日経ソフトウェア 2004.6 7 月号を借り、
JDK,eclips をインストールし、通常Javaプログラムの動作は確認しました。
その後、サーブレットとJSPも動作する環境にしたかったため Tomcat,Lombozを
インストール&プラグインコピーをし、サーブレットの動作(HelloWorld程度)を
ブラウザで確認するところまでできました。

次に、JSPを作成して動作確認をしようとしたのですが、エラーが表示されて
しまいました。
ブラウザ上のエラーでは ?? 表記ばかりで分からないので、Tomcatのエラーログを
見ると以下の引用文のようなことが書かれていました。

***** 引用 ******
C:\Program Files\eclipse\workspace\hello\work\org\apache\jsp\org\apache\jsp\jsp\date_jsp.java:7: java.lang.Object にアクセスできません。
クラスファイル C:\Program Files\Java\jre1.5.0_06\lib\rt.jar(java/lang/Object.class) は不正です。
クラスファイルのバージョン 49.0 は不正です。48.0 であるべきです。
削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。
public final class date_jsp extends org.apache.jasper.runtime.HttpJspBase
^
エラー 1 個

***** 引用終了 ******

エラーが出ること事態、まず問題なのですが、それよりも気になったのが jspから
作成されるjavaファイルのパスです。
C:\Program Files\eclipse\workspace\hello\work\org\apache\jsp\org\apache\jsp\jsp\date_jsp.java

なぜこんなところに?

きっとコレが問題なのだろうと思って
フォルダから該当の date_jsp.java を
C:\Program Files\eclipse\workspace\hello\work\org\apache\jsp
配下に移動させました。

そこで再実行してみたのですが結果は同じです。

ログにはこうも書かれていました。
致命的: Error compiling file: /C:/Program Files/eclipse/workspace/hello/work/org/apache/jsp//org/apache/jsp/jsp\date_jsp.java [javac] Compiling 1 source file

やはりパス表記が変なことになっています。
サーブレットが動くところまではいっているのだし、もしかしたらこれを直せれば
なんとかなるんじゃないか?と思っています。
どなたか分かる方おしえていただけないでしょうか?
よろしくお願いします。

動作環境 WindowsXP
eclips 2.1
j2sdk1.4.2_04
でるびすた
常連さん
会議室デビュー日: 2005/06/15
投稿数: 22
投稿日時: 2006-05-12 12:38
とりあえず、Javaのバージョンを確かめてみてはいかがでしょうか。
ringo
会議室デビュー日: 2006/05/12
投稿数: 16
投稿日時: 2006-05-12 12:44
引用:

未記入さんの書き込み (2006-05-12 12:38) より:
とりあえず、Javaのバージョンを確かめてみてはいかがでしょうか。



ご指摘ありがとう御座います。
Javaのバージョンですが、インストールしたのは j2re1.4.2_04 だったのですが
そのご、最新のバージョンがある、とマシン?から指摘があってUpdateしました。
そしたらJavaフォルダの中に jre1.5.0_06 というのがインストールされたようです。

これって問題なのでしょうか?
しの
会議室デビュー日: 2006/04/11
投稿数: 5
お住まい・勤務地: 愛知県
投稿日時: 2006-05-12 13:19
引用:

ringoさんの書き込み (2006-05-12 12:44) より:

そのご、最新のバージョンがある、とマシン?から指摘があってUpdateしました。
そしたらJavaフォルダの中に jre1.5.0_06 というのがインストールされたようです。



それが原因ですね。
多分、eclipseで利用するJavaがjre1.5.0_06を利用しているのが原因でしょう。
j2re1.4.2_04にすれば直るのではないでしょうか?

eclipse2.1の環境は既にもってないのでアレですが、
おそらくプロジェクトのプロパティにて、
JREシステム・ライブラリを編集して、j2re1.4.2_04を参照するようにすれば直る気がしますが・・・。
ringo
会議室デビュー日: 2006/05/12
投稿数: 16
投稿日時: 2006-05-12 13:43
しのさん。ご指摘ありがとう御座います。

引用:

eclipse2.1の環境は既にもってないのでアレですが、
おそらくプロジェクトのプロパティにて、
JREシステム・ライブラリを編集して、j2re1.4.2_04を参照するようにすれば直る気がしますが・・・。




プロジェクトのプロパティを開き、
Javaのビルド・パスから JREシステムライブラリーを
削除し、j2re1.4.2_04 を新規に追加しました。

その後、実行がうまくいかなかったので、プロジェクトを一度削除し、
再度サーブレットから作り直してみました。

で、サーブレット実行を確認。
JSPを作成しブラウザから表示させようとすると、最初のエラーメッセージが
表示されてしまいました。

*** 引用 ***
C:\Program Files\eclipse\workspace\hello\work\org\apache\jsp\org\apache\jsp\jsp\date_jsp.java:6: java.util.Date にアクセスできません。
クラスファイル C:\Program Files\Java\jre1.5.0_06\lib\rt.jar(java/util/Date.class) は不正です。
クラスファイルのバージョン 49.0 は不正です。48.0 であるべきです。
削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。
import java.util.Date;
         ^
エラー 1 個
***********

アンインストールして、再インストールしたほうがよいのかも・・・でしょうか?

[ メッセージ編集済み 編集者: ringo 編集日時 2006-05-12 14:36 ]
末記人
常連さん
会議室デビュー日: 2004/03/31
投稿数: 27
投稿日時: 2006-05-12 14:53
実行時のエラーならTomcatのJVM設定をj2re1.4.2_04にするべきかと。。
ringo
会議室デビュー日: 2006/05/12
投稿数: 16
投稿日時: 2006-05-12 15:11
ご指摘ありがとう御座います。

引用:

未記入さんの書き込み (2006-05-12 14:53) より:
実行時のエラーならTomcatのJVM設定をj2re1.4.2_04にするべきかと。。



そのような方法もあるのですね。

実は、試行錯誤もうまくいかなかったので、JREをアンインストールし、
j2re1.4.2_04のみをインストールしなおしたところ、JSP表示まで
うまくいきました。

JREのバージョンの相違があるだけでパッケージのパスまでおかしく
なることがあるなんて全然思いもつきませんでした。
みなさん、このような初歩的な質問に付き合っていただき
本当にありがとう御座いました。

次回、1.5を誤ってUpdateしてしまったときは上記のTomcatのJVM設定を
みてみます。

[ メッセージ編集済み 編集者: ringo 編集日時 2006-05-12 15:13 ]
1

スキルアップ/キャリアアップ(JOB@IT)