- - PR -
JSPのクラス作成場所がおかしい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 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 | ||||
|
投稿日時: 2006-05-12 12:38
とりあえず、Javaのバージョンを確かめてみてはいかがでしょうか。
| ||||
|
投稿日時: 2006-05-12 12:44
ご指摘ありがとう御座います。 Javaのバージョンですが、インストールしたのは j2re1.4.2_04 だったのですが そのご、最新のバージョンがある、とマシン?から指摘があってUpdateしました。 そしたらJavaフォルダの中に jre1.5.0_06 というのがインストールされたようです。 これって問題なのでしょうか? | ||||
|
投稿日時: 2006-05-12 13:19
それが原因ですね。 多分、eclipseで利用するJavaがjre1.5.0_06を利用しているのが原因でしょう。 j2re1.4.2_04にすれば直るのではないでしょうか? eclipse2.1の環境は既にもってないのでアレですが、 おそらくプロジェクトのプロパティにて、 JREシステム・ライブラリを編集して、j2re1.4.2_04を参照するようにすれば直る気がしますが・・・。 | ||||
|
投稿日時: 2006-05-12 13:43
しのさん。ご指摘ありがとう御座います。
プロジェクトのプロパティを開き、 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 ] | ||||
|
投稿日時: 2006-05-12 14:53
実行時のエラーならTomcatのJVM設定をj2re1.4.2_04にするべきかと。。
| ||||
|
投稿日時: 2006-05-12 15:11
ご指摘ありがとう御座います。
そのような方法もあるのですね。 実は、試行錯誤もうまくいかなかったので、JREをアンインストールし、 j2re1.4.2_04のみをインストールしなおしたところ、JSP表示まで うまくいきました。 JREのバージョンの相違があるだけでパッケージのパスまでおかしく なることがあるなんて全然思いもつきませんでした。 みなさん、このような初歩的な質問に付き合っていただき 本当にありがとう御座いました。 次回、1.5を誤ってUpdateしてしまったときは上記のTomcatのJVM設定を みてみます。 [ メッセージ編集済み 編集者: ringo 編集日時 2006-05-12 15:13 ] |
1