java - 属性 java.runtime.version 和 java.version 有什么区别
问题描述
出于日志记录的目的,我在 Java 程序运行时将 Java 版本写入日志。
我发现我可以得到这个版本
System.getProperty("java.runtime.version") -> 1.8.0_202-b08
和
System.getProperty("java.version") -> 1.8.0_202
结果显然缺少其他中的“构建”信息,但除了结果之外还有其他区别吗?在某些情况下我应该使用第一个选项而不是第二个选项?
解决方案
System Property Name | System Property Content | Where Displayed in java version Output
---------------------|--------------------------|---------------------------------------
java.version | product version | Line one displays the product version
---------------------|--------------------------|---------------------------------------
java.runtime.version | product version | Line one displays the product version
| product build identifier | Line two displays the build identifier
- 系统属性的内容
java.runtime.version
可以扩展(超出 java.version 系统属性的内容)以包含构建 ID。
因此,属性值似乎可以等于java.runtime
内容或通过构建 id来区分,正如问题中已经指出的那样。
无论如何,正如先前在对该问题的评论中所述,该java.runtime.version
属性不会出现在当前记录的系统属性中。
推荐阅读
- qt - 如何在qml中的chartview绘图区域添加文本
- java - Apache Ignite Spring Data 2.0 解析查询异常
- bixby - bixby 胶囊差异化服务商
- android - api调用时多个视图中的多个进度条
- windows - Windows 关键部分 - 如何完全禁用旋转
- karate - 在空手道中运行一个场景
- c# - 我怎样才能像在终端上一样获取集群信息,但在我的 c# 客户端(stackexchange)上?
- jms - ActiveMQ 如何只删除一些计划的元素
- java - 在 MySQL 中存储自定义级别系统
- javascript - readFileSync 正在返回空字符串