我如何知道构建jar时使用了哪个版本的Java编译器?我有一个jar文件,它可以在三个JDK中的任何一个中构建.我们需要知道到底是哪一个,这样我们才能证明兼容性.编译器版本是否嵌入在类文件或jar中?

推荐答案

您不一定能从JAR文件本身看出.

下载祸不单行编辑器并打开JAR中的一个类文件,查看从4到7的字节偏移量.版本信息是内置的.

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

注:如以下 comments 所述,

这些字节告诉您类的编译版本,而不是

Java相关问答推荐

长音符

Jooq隐式地将bigint转换为数字,并且索引不起作用

Java取消任务运行Oracle查询通过JDBC—连接中断,因为SQLSTATE(08006),错误代码(17002)IO错误:套接字读取中断

Java inline Double条件和值解装箱崩溃

使用联接和分页的SpringBoot Spring数据JPA

Spring Boot Maven包

当返回Mono<;Something>;时,不会调用Mono<;void>;.flatMap

Bean定义不是从Spring ApplationConext.xml文件加载的

多重延迟签名

OpenGL ES 3.0-纹理黑色

如何在EXCEL单元格中添加形状和文本

用OSQL创建索引

如何仅使用键/ID的一部分(组合)高效地返回映射值?

在学习Spring时,通过构造函数参数0表达了不满意的依赖关系

如何在太阳系模拟器中添加月球?

有谁能帮我修一下这个吗?使输出变得更加整洁

一对多关系和ID生成

向Java进程发送`kill-11`会引发NullPointerException吗?

Spring Mapstruct如何获取Lazy初始化实体字段的信息?

窗口启动后不久,从java.awt.Graphics disapear创建的矩形