- ベストアンサー
eclipseで、サーブレットを作成したいのですが・・・
プログラム経験の全くない、初心者なので分からない事だらけなため、どなたかおわかりになる方がおられたら、対処法をお願いします・・。 以下の手順で、サーブレットを作成しようとすると、エラーが表示され、ファイルが作成されませんでした。 [手順] (1)eclipse3.3で、「パッケージエクスプローラー」では何も選択しない状態で、メニューから「ファイル」→「新規」→「その他」を起動して、ツリーの「web」を開き、「サーブレット」を選択。 (2)サーブレット作成画面で、「パッケージ名」は、jp.co.gihyo.step3で、「名前」は、SampleServletと指定。 (3)ダイアログ画面はそのまま (4)次の画面もそのまま。 これで、「終了」を押すと、以下のエラーが表示されました。 java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:3(以下略) そこで、java.lang.UnsupportedClassVersionError: Bad version number in .class file を調べると、 「クラスが要求しているバージョンがJavaVMがサポートしているバージョンの範囲外なので、実行できない。」 だそうですが、現在のJavaVMのバージョンは、コマンドプロンプトで、「java -version」と書くと、「java version "1.6.0_06"」とありました。このバージョンでは、サーブレットが作成されないのでしょうか?それとも違う意味なのでしょうか?? あと、現在のeclipseの設定は、jdk6.0,jre1.6.0_03です。 長くなりましたが、対処法が分からず、困っています・・・。 どなたか、アドバス、お願い致します・・・。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
新規でサーブレットではなく、クラスを作ってそのあとHttpServletを継承し、javax.servlet等必要なパッケージをインポートする。 というのはどうでしょう? バージョンの問題ではなく、サーブレットのJARがないような気がして・・・。(3.3は標準装備だったり?) 僕はJBOSSというサーバーしか使ったことがないのですが もし、JARがないのであればプロジェクトを右クリック →「プロパティ」→左の欄の「Javaのビルドパス」を選択 →「ライブラリー」タブを選択→「外部JARの追加」をクリック →JBOSSの下の「client」フォルダにあるjavax.servlet.jarを選択 プログラム未経験でサーブレットをやるのはきついと思いますが、頑張ってください! 「やさしいJava活用編」高橋麻奈著 がサーブレットを学習するのにおすすめな本です。サーバーの設定方法なども付録についてるので興味があればご一読を。
その他の回答 (1)
Eclipseは、インストールされているJDKではなく、独自にコンパイラを持っているので注意が必要。コンパイラの準拠レベルはどうなっているだろうか。「ウインドウ>設定」メニューを選び、現れた設定ダイアログで、「Java>コンパイラ」の項目を選んで、コンパイラー準拠レベルが6.0になっているかどうか確認してみる。
お礼
お返事有り難うございました! eclipseって、独自にコンパイラを持っているのですね・・・。 教えて下さったとおり、確かめてみましたが、準拠レベルは6.0でした・・・。 きっと意味もわからずに設定していたのでしょう・・・。 教えて頂き有り難うございました!
お礼
お返事有り難うございました! 確かにサーブレットのJARがありませんでした・・・。 そのため、JBOSSをインストールしようと思ったら、なんと、さらにJ2SEでないと動かないみたいだったので、インストールし、設定したのに、eclipseで実行したら、「致命的: エンドポイントを初期化中のエラーですjava.net.BindException: Address already in use:JVM_Bind:8080・・・」と表示されました・・・。 はぁ・・・諦めてもう一度eclipseをインストールし直そうと考えています・・・。 なので、もう少しeclipseの設定を頑張ってみます! 本当に、サーブレットをやるのは大変ですね・・・。 ですが、薦めて下さった本を、早速探して参考にさせて頂きます! 本当に有り難うございました!!