一尘不染

什么版本的javac构建了我的jar?

java

我如何知道用来构建jar的Java编译器的版本?我有一个jar文件,它可以在三个JDK中的任何一个中构建。我们需要确切地知道哪一个,以便我们证明兼容性。编译器版本是否嵌入在类文件或jar中的某个位置?


阅读 164

收藏
2020-09-09

共1个答案

一尘不染

您不一定无法从JAR文件本身中分辨出来。

下载十六进制编辑器,然后在JAR中打开一个类文件,并查看字节偏移量4到7。内置了版本信息。

http://en.wikipedia.org/wiki/Java_class_file

注意:如以下评论中所述,

这些字节告诉您该类是针对哪个版本编译的,而不是哪个版本对其进行编译。

2020-09-09