- - PR -
javac ターゲットオプションについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-11-15 19:54
マニフェストファイルを見れば
どのJDKのバージョンでコンパイルされたかわかります。 例えば以下の場合。 @JDK1.4のjavacでコンパイルされたもの(targetオプションなし) AJDK1.4のjavacでコンパイルされたもの(-target="1.3"を指定) それぞれを見分ける方法ってありますか? (ファイルサイズを比較していましたが、ソースによっては同じサイズになってしまいます。) |
|
投稿日時: 2006-11-15 21:29
その目的にぴったりなツールは知りませんが、
Jakarta BCELで解析すれば可能では? org.apache.bcel.classfile.JavaClassから、 クラスファイルのバージョンは取得できるみたいです。 targetのバージョンとクラスファイルのバージョンの 対応関係は調べないといけないですけど。 |
|
投稿日時: 2006-11-15 22:26
javap でクラスのバージョンがわかります。
$ javac -source 1.3 -target 1.3 Test.java yusukey@yusukey:~$ javap -verbose Test Compiled from "Test.java" public class Test extends java.lang.Object SourceFile: "Test.java" minor version: 0 major version: 47 ..... $ javac -source 1.4 -target 1.4 Test.java $ javap -verbose Test Compiled from "Test.java" public class Test extends java.lang.Object SourceFile: "Test.java" minor version: 0 major version: 48 ..... |
|
投稿日時: 2006-11-16 09:21
インギさん、あしゅさん
おかげさまで、目的を達成することができました。 どうもありがとうございました。 |
1