【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言

PCのWebブラウザからJAVAアプレットを使用しています。

jdk1.4でコンパイルしていたソースをjdk1.5でコンパイルしてjre1.4で使用したところ、
ランタイムエラーが表示されてしまいました。

jdk1.5でコンパイルした実行ファイルをjre1.4とjre1.5の両方で使用することは可能なのでしょうか?

宜しくお願いします。

A 回答 (2件)

JDK 1.5でコンパイルする際、「java -target 1.4 ××.java」というようにクロスコンパイルオプションを指定してみてください。

これで1.4のバイナリ互換としてコンパイルされますので、ソースに問題がなければ1.4~1.5で動作するはずです。確認してみてください。
 JDK 1.5は、それ以前と互換性の面でかなりいろいろとあるようです。それ以前のバージョンのJREでの動作を考えている場合は注意した方がいいようですね。

参考URL:http://java.sun.com/j2se/1.5.0/ja/compatibility. …

この回答への補足

回答して頂き、ありがとうございます。
クロスコンパイルを試してみた結果、
「ターゲットリリース 1.4 がデフォルトのソースリリース 1.5 と競合しています。」
と表示されてしまいました。
コンパイルしたソースは普通にコンパイルする分にはjdk1.4でもjdk1.5でも問題は有りませんでした。
「ソースリリース」というのは何に依存するものなのでしょうか?
宜しくお願いします。

補足日時:2005/05/26 14:30
    • good
    • 0
この回答へのお礼

その後自分で調べてみたのですが、
コンパイルオプションに-sourceを加えて
「javac -source 1.4 -target 1.4 xxx.java」
としたところ、jre1.4とjre1.5の両方で動くようになりました。
ご協力頂き、誠にありがとうございました。
失礼します。

お礼日時:2005/05/26 15:06

基本的に上位互換なので、1.4でコンパイルして1.5jreでは動くかもしれませんが、その逆はあまりオススメできません。


また、1.5は0.1しか上がってないのでマイナーバージョンアップのように見えるかもしれませんが、別名J2SE 5.0と呼ばれ、メジャーバージョンアップ級の仕様変更が入ったようなので、そこら辺も影響しているのかもしれません。
一度仕様変更点など調べてみては?

参考URL:http://java.sun.com/j2se/1.5.0/ja/docs/ja/index. …
    • good
    • 0
この回答へのお礼

回答して頂き、ありがとうございます。
確かに1.5に変更したことで過去に色々と影響がありました。
仕様についてもできるだけ調べてみようと思います。

お礼日時:2005/05/26 14:16

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


おすすめ情報