我如何知道用来构建jar的Java编译器的版本?我有一个jar文件,它可以在三个JDK中的任何一个中构建。我们需要确切地知道哪一个,以便我们证明兼容性。编译器版本是否嵌入在类文件或jar中的某个位置?
您不一定无法从JAR文件本身中分辨出来。
下载十六进制编辑器,然后在JAR中打开一个类文件,并查看字节偏移量4到7。内置了版本信息。
http://en.wikipedia.org/wiki/Java_class_file
注意:如以下评论中所述,
这些字节告诉您该类是针对哪个版本编译的,而不是哪个版本对其进行编译。