小编Rob*_*ing的帖子

是否可以查询JVM / JRE的许可证?

Oracle更改了其Java版本的许可证:

  • 8u201 / 8u202及更高版本:Oracle二进制代码许可(OBCL)协议
  • 8u211 / 8u212及更高版本:Oracle技术网(OTN)许可协议

我想Java 7及以下的所有Oracle版本都是OBCL。我不确定该旧许可证下是否有任何Oracle Java 9+版本。

当然,其他Java发行版(OpenJDK等)也具有其他许可证。

正在运行的程序是否可以确定底层JVM / JRE的许可证?动机:当用户在特定许可证的JVM / JRE上使用我的程序时,我想警告他们的程序。

我一直找不到包含这些信息的任何标准系统属性,而且我还查看了构成JRE的JAR清单。

有几个地方提供对Java版本的结构化访问:

前者并没有详细介绍更新号,而后者仅在Java 9+中可用。无论如何,两者仍需要其他资源来将已知的Java版本映射到其各自的许可证。

另外:我知道Oracle最新建议将JRE与一个应用程序捆绑在一起,并且可以通过这种方式避免此问题。

java

6
推荐指数
1
解决办法
137
查看次数

标签 统计

java ×1