- PR -

jbuilder 5 で、コンパイルする時に、【エラー#750: ... has wrong version 48.0】を発生しました。

1
投稿者投稿内容
lrabby
会議室デビュー日: 2004/02/25
投稿数: 16
投稿日時: 2004-04-29 17:21
いつもお世話になっております。

jbuilder 5 で、project→project properties の中に、JDKは「JDK1.4.2」に変更しました。

しかし、コンパイルする時に、【"Detail.java": Error #: 750 : initialization error: com.borland.compiler.symtab.LoadError: class file has wrong version 48.0
】というメッセージはやはり発生しました。

ご存知の方が、ご教授お願いいたします。
JW
常連さん
会議室デビュー日: 2004/01/14
投稿数: 49
投稿日時: 2004-04-30 19:26
JBuilder5は、発売当時まだ出ていなかったJDK1.4.xは
対応していなかった気がします。

このエラーは、「javac -target 1.4」相当でコンパイルされた
classファイルに、バージョン番号が48.0 と埋め込まれていて
そこまでは対応していないから出ていたんだったと思います。
#JDKの中のrt.jar等の中身のclassファイルが全てバージョンが
#48.0になっているので、それを全てバイナリレベルで強制修正
#して「使えた」報告をした猛者が誰か居たような…

JDKだけでなく、他の人が作ったクラスでも -target1.4でコンパイル
されたものを使用しようとすれば同じ事になるはずです。

どうしてもJBuilderでJDK1.4.xを使うならバージョンアップをするか、
JDK1.4.xの中身書き換え(あたりまえですが、推奨しません…)を
するしかないと思います。

(もう2年ほど使ってないなぁ>JBuilder)
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2004-05-02 10:13
unibon です。こんにちわ。

引用:

lrabbyさんの書き込み (2004-04-29 17:21) より:
jbuilder 5 で、project→project properties の中に、JDKは「JDK1.4.2」に変更しました。

しかし、コンパイルする時に、【"Detail.java": Error #: 750 : initialization error: com.borland.compiler.symtab.LoadError: class file has wrong version 48.0
】というメッセージはやはり発生しました。


http://java-house.jp/ml/archive/j-h-b/047134.html
に似ている現象ですよね。
古い話で良く覚えていないのですが、できませんでしたっけ?
JBuilder 自体を、新しい JDK のバージョンの Java VM 上で動かすことはできなかったかもしれませんが、JBuilder 上でコンパイルに使うための JDK のバージョンは選べたような気もするのですが(Foundation や Personal の版では制限がかかっていますが)。

もし、JBuilder 5 Personal をお使いならば、最新の JBuilder X Foundation にされたほうが良いかもしれませんね。
JBuilder は商用利用の制限がバージョンの変遷とともに、Foundation → Personal → Foundation に戻り、JBuilder X Foundation だと緩くなりましたね。
Okayu3
会議室デビュー日: 2004/03/11
投稿数: 11
投稿日時: 2004-05-06 12:54
すでにみなさんご指摘の通り、
JBuilder5 そのままでは 1.4系で開発できません。

J2SE1.4のほうの中身を書き換える パッチを紹介します。

http://www.stephenkelvin.de/MerlinPatch/

ClassVersionLimiter.java の中身を変更して
実行します。しばらく時間がかかりますが、
実行後は問題なく開発することができるようになります。
1

スキルアップ/キャリアアップ(JOB@IT)