0

是否有一个 ant 任务允许我查看一些 jar 文件并找出 jar 中的类文件是为哪个 Java 版本编译的?

4

1 回答 1

0

你将不得不写一个。你可以用现有的任务来做,但它会很丑——这不是蚂蚁真正擅长的。

您可以解压缩 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 回答