アプリ版:「スタンプのみでお礼する」機能のリリースについて

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で実行したのは同じです

学校の先生いわく、バージョンかなぁと言っていましたが、よくわからないのが本音だそうです

わかる方いらっしゃいますか?

A 回答 (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をサポートしていない環境で動作させようとした旨なので。
    • good
    • 0
この回答へのお礼

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ってことなのでプログラムが実行出来なかったってことになりますね

困りましたが、学校のパソコンだとどうしようもないのであきらめざるを得ませんね

ご協力ありがとうございました

お礼日時:2010/06/01 18:07

私もJava初心者ですが。

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

参考URL:http://www.ne.jp/asahi/hishidama/home/tech/java/ …
    • good
    • 0
この回答へのお礼

[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で環境が異なっていたため実行できなかったようです

学校のパソコンのバージョンを変えることはさすがに出来ないので、なんとか対処したいと思います

ご協力ありがとうございました

お礼日時:2010/06/01 18:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!