
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で実行したのは同じです
学校の先生いわく、バージョンかなぁと言っていましたが、よくわからないのが本音だそうです
わかる方いらっしゃいますか?
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をサポートしていない環境で動作させようとした旨なので。
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ってことなのでプログラムが実行出来なかったってことになりますね
困りましたが、学校のパソコンだとどうしようもないのであきらめざるを得ませんね
ご協力ありがとうございました
No.1
- 回答日時:
私もJava初心者ですが。
。。java.lang.UnsupportedClassVersionErrorが出ていますので
先生のおっしゃるとおり、JavaVMのバージョンだと思います。
Javaは1.5から結構仕様が変わっていて、以前(~1.4まで)使えていたクラスが
使えなくなっている事が多いです。
自宅のJavaのアップデートをお勧めします。
参考URL:http://www.ne.jp/asahi/hishidama/home/tech/java/ …
[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が見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JDBC-ODBC-MDB(日本語テーブル...
-
javaからデータベースに接続 エ...
-
java と javax の違いは?
-
テーブル名が日本語だとクエリ...
-
log4jを使用し、JAVAのバッチプ...
-
リクエストパラメータを暗号化...
-
struts2環境構築で不具合が出て...
-
Javaでのエラーについて
-
DBから全権検索したデータをjsp...
-
vba クリップボードクリアにつ...
-
JSPファイルで生じるエラーをど...
-
MSCOMCTL.OCXのアップデートの方法
-
Pythonを無料(安価)で学ぶ方...
-
正規表現について質問です。 カ...
-
javaのジェネリックスでTとEの...
-
MSFormsとは何ですか?
-
CrystalReportsのバージョン確...
-
IISワーカープロセスが原因でCP...
-
JAVAプログラムをWEB表示させる...
-
PL/SQLを使った開発について質...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Javaでのエラーについて
-
javaからデータベースに接続 エ...
-
struts2環境構築で不具合が出て...
-
java と javax の違いは?
-
Fileクラス
-
Javaにてシリアル通信を行って...
-
Tomcatでエラー
-
クラスパスがとおりません。
-
DBから全権検索したデータをjsp...
-
FirefoxでJava Appletが表示で...
-
oracle9iにJDBC接続が出来ない
-
WebAPIをJavaScriptで利用できる?
-
これをjavaとGUIを使って作りた...
-
javaアプレットでゲームを作り...
-
アプレットとテキストファイル
-
JSFで、マネージビーンに画面の...
-
JNIでロードするライブラリが見...
-
CPUの個数
-
一斉コンパイルのバッチファイ...
-
execでdirコマンドを実行すると...
おすすめ情報