0

いくつかのjarファイルを見て、jar内のクラスファイルがコンパイルされたJavaバージョンを特定できるantタスクはありますか?

4

1 に答える 1

0

あなたはそれを書かなければならないでしょう。既存のタスクでそれを行うこともできますが、醜いものになるでしょう - これは本当に ant が得意とすることではありません。

jar を解凍し、実行してファイル (UNIX のようなマシン) に出力すると、これはバージョン 51 (Java 7) であることがわかります。

$file MyClass.class
MyClass.class; compiled Java class data, version 51.0

または、使用できるWindowsを使用している場合javap -v

$javap -v MyClass.class
Classfile 
MyClass.class
  Last modified Sep 24, 2013; size 7317 bytes
  MD5 checksum 73667731fe2ec6519b1c0c4676a96c70
public class com.foo.MyClass
  minor version: 0
  major version: 51

次に、replaceregex またはいくつかのソースを使用して、メジャー バージョンを見つける必要があります。

小さなタスクを作成した方がよいでしょう。Apache のバイト コード エンジニアリング ライブラリを使用してバージョンを引き出すことができます。

于 2013-10-07T20:13:47.137 に答える