javaのバージョンエラーについて

このQ&Aのポイント
  • javaのバージョンエラーが発生しています
  • 家では実行できたプログラムが学校でエラーとなりました
  • バージョンの違いが原因とされています
回答を見る
  • ベストアンサー

javaに詳しい方に質問です

javaに詳しい方に質問です 私は家ではwindowXP、学校ではUNIXを使ってjavaを勉強中です あるブロック崩しのプログラムがあるのですが、家では実行出来たのですが、 学校ではよくわからないエラーが出てしまいました 内容は下記の通り [c]$ cd java [c java]$ javac Blockdx.java [c java]$ appletviewer Blockdx.html Warning: Cannot convert string "-misc-kochi mincho-medium-r-normal--*-140-*-*-c-*-jisx0208.1983-0" to type FontStruct java.lang.UnsupportedClassVersionError: Blockdx (Unsupported major.minor version 50.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:157) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:123) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:561) at sun.applet.AppletPanel.createApplet(AppletPanel.java:619) at sun.applet.AppletPanel.runLoader(AppletPanel.java:548) at sun.applet.AppletPanel.run(AppletPanel.java:299) at java.lang.Thread.run(Thread.java:534) javaのバージョンは下記の通り 自宅 1.4.2_05 学校 1.6.0_18 学校でも家でもBlockdx.javaとBlockdx.htmlの二つのファイルを用意して Blockdx.javaをコンパイルした後、appletviewer Blockdx.htmlで実行したのは同じです 学校の先生いわく、バージョンかなぁと言っていましたが、よくわからないのが本音だそうです わかる方いらっしゃいますか?

  • Java
  • 回答数2
  • ありがとう数14

質問者が選んだベストアンサー

  • ベストアンサー
  • vaguechat
  • ベストアンサー率85% (47/55)
回答No.2

何もしないアプレットでもいいので他のアプレットを質問の方法と同じように その環境でコンパイルしてappletviewerで動作させた場合は大丈夫? あまりないこととは思うがappletviewerの実行環境が1.6になっているか確認を。 たとえば、appletviewer -J-versionのような方法で。 > java.lang.UnsupportedClassVersionError: Blockdx (Unsupported major.minor version 50.0) なので、 1.6のjavacでコンパイルされたクラスファイルBlockdx.classを それよりも古いバージョンの実行環境にロードしようとしているようにみえる。 学校の環境に二つ以上のバージョンが入っていて、 javacとappletviewerで違うバージョンの環境にリンクされているとか。 もしobsoleteになった非推奨APIを利用しているような場合は、 コンパイルの段階で警告が出るが、質問の実行例では出ていないようだし、 エラーは50.0つまり1.6をサポートしていない環境で動作させようとした旨なので。

m5ni840j
質問者

お礼

vaguechatさんが書いてくださったことを学校のパソコンで入力したらこんな画面が表示されました [c@lx09 java]$ appletviewer -J-version java version "1.4.2_09" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_09-b05) Java HotSpot(TM) Client VM (build 1.4.2_09-b05, mixed mode) [c@lx09 java]$ java -version java version "1.6.0_18" Java(TM) SE Runtime Environment (build 1.6.0_18-b07) Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode, sharing) ってことはつまりjavaのバージョンは1.6でappletviewerのバージョンは1.4ってことなのでプログラムが実行出来なかったってことになりますね 困りましたが、学校のパソコンだとどうしようもないのであきらめざるを得ませんね ご協力ありがとうございました

その他の回答 (1)

回答No.1

私もJava初心者ですが。。。 java.lang.UnsupportedClassVersionErrorが出ていますので 先生のおっしゃるとおり、JavaVMのバージョンだと思います。 Javaは1.5から結構仕様が変わっていて、以前(~1.4まで)使えていたクラスが 使えなくなっている事が多いです。 自宅のJavaのアップデートをお勧めします。

参考URL:
http://www.ne.jp/asahi/hishidama/home/tech/java/exception.html
m5ni840j
質問者

お礼

[c@lx09 java]$ appletviewer -J-version java version "1.4.2_09" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_09-b05) Java HotSpot(TM) Client VM (build 1.4.2_09-b05, mixed mode) [c@lx09 java]$ java -version java version "1.6.0_18" Java(TM) SE Runtime Environment (build 1.6.0_18-b07) Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode, sharing) 学校のパソコンで入力したら出てきた画面です どうやらjavaとappletviewerで環境が異なっていたため実行できなかったようです 学校のパソコンのバージョンを変えることはさすがに出来ないので、なんとか対処したいと思います ご協力ありがとうございました

関連するQ&A

  • アプレットがうまく動かない…

    javaを勉強しています。本を参考にして、下記のようなアプレットを書いたのですが、さらにその下のようなエラー(?)が表示されてしまって、画像が表示されません。もしこれだけの情報で見当がつきましたら、よろしくお願いします。 import java.applet.Applet; import java.awt.Graphics; import java.awt.Image; public class main extends Applet{ Image img; public void init(){ img = getImage(getDocumentBase(), "test.jpg"); } public void paint(Graphics g){ g.drawImage(img,0,0,this); } } java.lang.UnsupportedClassVersionError: main (Unsupported major.minor version 49 .0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:537) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12 3) at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:157) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:123) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:561) at sun.applet.AppletPanel.createApplet(AppletPanel.java:617) at sun.applet.AppletPanel.runLoader(AppletPanel.java:546) at sun.applet.AppletPanel.run(AppletPanel.java:298) at java.lang.Thread.run(Thread.java:534)

    • ベストアンサー
    • Java
  • FirefoxでJava Appletが表示できません

    掲題のとおり、IE7で表示されるJava AppletがFirefoxで表示できません。 各Javaコンソール出力は以下の通りで、FirefoxのJRE versionが 1.5.0_12になっていることが原因と思いますが、FirefoxのJRE versionをIEと同じ1.6.0_05にする方法を教えてください。 == Firefox 2.0 の Javaコンソール出力 === Java Plug-in 1.5.0_12 使用中の JRE のバージョン 1.5.0_12 Java HotSpot(TM) Client VM java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at sun.applet.AppletClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.applet.AppletClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.applet.AppletClassLoader.loadCode(Unknown Source) at sun.applet.AppletPanel.createApplet(Unknown Source) at sun.plugin.AppletViewer.createApplet(Unknown Source) at sun.applet.AppletPanel.runLoader(Unknown Source) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source) == Internet Explorer 7 の Javaコンソール出力 === Java Plug-in 1.6.0_05 使用中の JRE のバージョン 1.6.0_05 Java HotSpot(TM) Client VM

    • ベストアンサー
    • Java
  • javaに詳しい方に質問です

    javaに詳しい方に質問です 私が使っているパソコンはwindowXPで今BG.java , BG.html の2つのファイルがあります ブロック崩しのソースです コマンドプロンプト上で下記のように操作をしたら、(画面の貼り方がわからなく申し訳ありません) C:\j2sdk1.4.2_05\bin>javac BG.java C:\j2sdk1.4.2_05\bin>appletviewer BG.html Exception in thread "main" java.util.MissingResourceException: Can't find resour ce for bundle sun.applet.resources.MsgAppletViewer, key appletpanel.badattribute .exception at java.util.ResourceBundle.getObject(ResourceBundle.java:314) at java.util.ResourceBundle.getObject(ResourceBundle.java:311) at java.util.ResourceBundle.getString(ResourceBundle.java:274) at sun.applet.AppletMessageHandler.getMessage(AppletMessageHandler.java: 39) at sun.applet.AppletPanel.showAppletStatus(AppletPanel.java:755) at sun.applet.AppletPanel.init(AppletPanel.java:190) at sun.applet.AppletViewer.<init>(AppletViewer.java:177) at sun.applet.StdAppletViewerFactory.createAppletViewer(AppletViewer.jav a:82) at sun.applet.AppletViewer.parse(AppletViewer.java:1122) at sun.applet.AppletViewer.parse(AppletViewer.java:1056) at sun.applet.Main.run(Main.java:138) at sun.applet.Main.main(Main.java:80) というなんだかよくわからない表示がされて実行がされませんでした 本当ならプログラムを張り付けたかったのですが、文字数に制限があるし ダウンロード先を忘れてしまいまして… ということなので詳しいことは構わないので、この表示が何を表しているのか ご回答お願いします

    • ベストアンサー
    • Java
  • -Applet表示でのjava.lang.ClassNotFoundException-

    お世話になります。 只今、Appletの操作を勉強しています。 先日まで動いていた、Appletが急に表示されなくなってしまいました。 「appletviewer」で実行すると表示されるのですが、HTMLを叩くと表示されません。 JAVAコンソールには・・・ java.lang.ClassNotFoundException: javax.swing.JComboBox at com/ms/vm/loader/URLClassLoader.loadClass (URLClassLoader.java) at java/lang/ClassLoader.loadClassInternal (ClassLoader.java) at DemoApplet.init (DemoApplet.java) at com/ms/applet/AppletPanel.securedCall0 (AppletPanel.java) at com/ms/applet/AppletPanel.securedCall (AppletPanel.java) at com/ms/applet/AppletPanel.processSentEvent (AppletPanel.java) at com/ms/applet/AppletPanel.processSentEvent (AppletPanel.java) at com/ms/applet/AppletPanel.run (AppletPanel.java) at java/lang/Thread.run (Thread.java) ・・・と、表示されています。 クラスパスの問題であれば、「appletviewer」でも動かないだろうし・・・何が問題なのでしょうか?? ・・・行き詰まってます。

    • ベストアンサー
    • Java
  • java実行時のメッセージについて

    50歳にてjavaを勉強しようとしているものです。 javaの本より例題を作成してみたのですが、うまくいきません。 javaをインストールしてjavacが正常でいざ実行した際、以下のメッセージが表示されました。何の意味かさっぱりわかりません。このサイトで質問するレベルではないかと思いますが、アドバイスいただければ幸いです。 作成したプログラムは class hello { public static void main(String[] args) { System.out.println("こんにちは"); } } javac ではエラー表示なし → C:\javabook\part1>javac Hello.java C:\javabook\part1> これを実行すると、 C:\javabook\part1>java Hello Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong name: he llo) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14 1) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) Could not find the main class: Hello. Program will exit. と表示されます。 何がエラーとなっているのでしょうか?

    • ベストアンサー
    • Java
  • javaでscalaのクラスを使う

     Scala初心者です^^  Scalaで作ったクラスをJavaで使おうとしています.  しかしなかなかうまくいかなくて…  ソースを下に書いておきます. [ap/hello.scala] class hello(str2: String){ val str = str2 def say(){ println(str) } } [ap/start.java] public class start{ public static void main(String[] args){ hello h = new hello("Hello!"); h.say(); } }  helloクラスのコンストラクタを用いて指定した文字列を helloクラスのsayメソッドで標準出力するだけの簡単なクラスなのですが, うまく実行できず… Exception in thread "main" java.lang.NoClassDefFoundError: ap/start/class Caused by: java.lang.ClassNotFoundException: ap.start.class at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) Kazus-MackBookPro:ScalaLearning macuser$ java ap/start Exception in thread "main" java.lang.NoClassDefFoundError: ap/start (wrong name: start) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) というエラーが出てしまいます.    どこが悪いかわかる方いらっしゃいませんか?  それとも,JavaではScalaで作った.classファイルは使うことができないのでしょうか?  Scalaはまだ覚えて2週間なので,まだ完全に理解できていません><    よろしくお願いします

  • Appletが動きません・・・

    こんにちは。今日Javaを学び始めた超初心者です。 -HelloApplet.java-------------------------- import java.awt.Graphics; import java.applet.Applet; class HelloApplet extends Applet{ public void paint(Graphics g){ g.drawString("Hello World", 50,25); } } ------------------------------------------- で、これをコンパイルしてHTMLに組み込み、Appletviewerで見てみるのですが、 以下のようなメッセージが出ます。 ---------------------------------------------- C:\java>appletviewer hello.html load: HelloApplet.class は public ではありません。あるいは public なコンストラク タを持っていません。 java.lang.IllegalAccessException: Class sun.applet.AppletPanel can not access a member of class HelloApplet with modifiers "" at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:57) at java.lang.Class.newInstance0(Class.java:302) at java.lang.Class.newInstance0(Class.java:302) at java.lang.Class.newInstance(Class.java:261) at sun.applet.AppletPanel.createApplet(AppletPanel.java:617) at sun.applet.AppletPanel.runLoader(AppletPanel.java:546) at sun.applet.AppletPanel.run(AppletPanel.java:298) at java.lang.Thread.run(Thread.java:534) ---------------------------------------------- HTMLを開くと赤い「×」が出ています。 環境ですが、 CLASSPATH:C:\j2sdk1.4.2_04\lib\tools.jar;.;c:\java PATH:C:\WINDOWS;C:\WINDOWS\COMMAND;C:\j2sdk1.4.2_04\bin 作業フォルダ: c:\java となっています。 おかしいところはないと思うのですけど・・・。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • 外部ライブラリについて

    Java初心者です・・。 eclipse上で、以下のソースで実行したところ、エラーになりました。 外部のライブラリを使用しているからかと思い、ビルド・パスを設定しました。 しかし・・・まだエラーが表示されます・・・。 どなたかご存知の方・・・アドバイスをお願いします。 [ソース] import javax.swing.*; import java.awt.*; class FusenExec { static public void main(String[] args) { String msg =JOptionPane.showInputDialog ("メッセージを入力して下さい。"); Dodai fusen = new Dodai(); JLabel label = new JLabel(msg); label.setOpaque(true); label.setBackground( Color.YELLOW); fusen.add(label); fusen.setSize(300, 50); fusen.setVisible(true); } } [エラー内容] Exception in thread "main" 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:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at FusenExec.main(FusenExec.java:10)

    • ベストアンサー
    • Java
  • JavaでBase64をエンコード・デコード(長めです)

    初めまして。今,Javaの勉強をしています。 Base64のエンコード・デコードを行うプログラムをコマンドプロンプトでコンパイルまでは成功するのですが,いざ実行してみると >java Base64 Exception in thread "main" java.lang.NoClassDefFoundError: Base64 (wrong name: d escriber/Base64) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) というエラーがでます。 プログラムは下記のサイトを参考にさせていただきました。 http://www.ki.rim.or.jp/~kuro/Java/Etc/Etc-03-SunMisc.html クラス名とファイル名は同じはずなのですが…。 実行方法が悪いのかどうなのかわかりませんが,よろしければ指摘お願いします 。 わかりにくい文章ですみません。。

    • ベストアンサー
    • Java
  • java.lang.NoClassDefFoundError。。。

    どうぞ知恵をお貸しください。 ・jdk-1.5.0.16 ・mysql-4.0.26-win32 ・mysql-connector-java-3.1.14 ・eclipse 3.2.0 をダウンロード、インストールしてjavaの勉強を行っています。 コマンドプロンプトよりコンパイルを成功した場合は実行時に下記のエラーが、 Exception in thread "main" java.lang.NoClassDefFoundError コンパイルに失敗した場合は「読み込めません」のエラーが出力されます。 環境変数でCLASSPATHも設定してありますが、あえて実行時にclasspathを指定しても試みてみましたがエラーは変わりません。 何が原因なのでしょうか? どうぞご指導をよろしくお願いします。 エラー全文 Exception in thread "main" java.lang.NoClassDefFoundError: sample (wrong name: mypackage/sample) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source)

専門家に質問してみよう