甲骨文严查Java授权,换openJDK要避坑

背景

外媒The Register报道,甲骨文稽查企业用户,近期开始将把过去看管较松散的Java授权加入。

甲骨文针对标准版Java(Java SE)有2种商业授权。2019年4月甲骨文宣布Java SE用户需要付费订阅,才能取得授权及更新,包括Java SE 7、8或11、12。但到同年9月该公司又宣布了免费Java授权方案,针对Java 17版本提供每季更新,并在2021年的新版本提供多1年免费支持,但这项方案并不溯及既往,旧版Java用户即使安装修补程序也是需要付费。

报道指出,最近一些美国企业收到甲骨文授权管理部门的消息,询问Java授权数量。此外甲骨文也从数据库、中间件或应用授权,来推敲用户的Java授权是否为虚报。例如,数据库的数量可以反映 CPU 数量,Java SE 订阅价格的其中一个收费标准为每个 CPU 每月收费 25 美元,因此就可以反映出 Java SE 订阅数量是否符合要求。

在这个背景下一些企业已开始用 OpenJDK 开源替代方案应对甲骨文的审计。但是OpenJDK与甲骨文标准版之间存在差异。今天咱们就来聊聊这些差异。

甲骨文严查Java授权,换openJDK要避坑

JDK和OpenJDK的区别

关于JDK和OpenJDK的区别,可以归纳为以下几点:

授权协议的不同

OpenJDK采用GPL V2协议,而JDK则采用JRL。两者协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用。

OpenJDK不包含Deployment(部署)功能

部署的功能包括:Browser Plugin、Java Web Start、以及Java控制面板,这些功能在Openjdk中是找不到的。

OpenJDK源代码不完整

这个很容易想到,在采用GPL协议的Openjdk中,sun jdk的一部分源代码因为产权的问题无法开放openjdk使用,其中最主要的部分就是JMX中的可选元件SNMP部分的代码。因此这些不能开放的源代码将它制作成插件,以供OpenJDK编译时使用,你也可以选择不要使用plug。而Icedtea则为这些不完整的部分开发了相同功能的源代码(OpenJDK6),促使OpenJDK更加完整。

部分源代码用开源代码替换

由于产权的问题,很多产权不是SUN的源代码被替换成一些功能相同的开源代码,比如说字体栅格化引擎,使用Free Type代替。

OpenJDK只包含最精简的JDK

OpenJDK不包含其他的软件包,比如Rhino Java DB JAXP……,并且可以分离的软件包也都是尽量的分离,但是这大多数都是自由软件,你可以自己下载加入。

不能使用Java商标

这个很容易理解,在安装openjdk的机器上,输入”java -version”显示的是openjdk,但是如果是使用Icedtea补丁的openjdk,显示的是java。(未验证)

OpenJDK之坑

一个在 Java SE 中稳定运行了一年多的项目,最近在OpenJDK上部署测试。一个案例失败。原因是缺少javafx.util。

这里的javafx.util包在jdk 1.8的类库里面有,但在OpenJDK 8里面是没有的。解决方式也很简单,主要如下几种做法:

  1. 不要使用javafx.util这种OpenJDK里面没有的包;
  2. 下载javafx-sdk到服务器,编译时将javafx-sdk位置作为–module-path参数传入;
  3. 在pom里面显式添加javafx依赖,这样在服务器上用mvn编译时,会把它从maven中央仓库拉到本地打包到你的工程里。
<dependency><br>    <groupid>org.openjfx</groupid><br>    <artifactid>javafx-base</artifactid><br>    <version>14-ea+7</version><br></dependency>
  1. 本地编译好,直接用jar包布署。

除了这个问题之外,Oracle JDK构建过程是基于OpenJDK的,所以他们之间并没有技术差别。只是OpenJDK由于版本发布比较频繁,可能会遇到不稳定的问题。根据社区反馈,也有一些OpenJDK用户遇到了性能问题。而Oracle JDK作为商业软件,在稳定性方面要好很多。

Original: https://www.cnblogs.com/xiexj/p/16166030.html
Author: 编程一生
Title: 甲骨文严查Java授权,换openJDK要避坑

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/610506/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 聊聊.netcore采坑那一些事之系统时间and文件路径

    聊聊 .netcore 采坑那一些事之系统时间and 文件路径 Hi,小伙伴大家好,最近工作比较忙,很久没有和大家分享点东西了。这个周末都加了两天班。公司的新项目都是采用.netc…

    Linux 2023年6月14日
    074
  • 单臂路由和三路交换机

    (2)在交换机中创建VLAN,将端口加入到相应的VLAN中。 创建vlan10和vlan20;接口e0/0/1设置为access模式、加入vlan10;接口e0/0/2设置为acc…

    Linux 2023年6月6日
    082
  • Shell Step by Step (4) —— Cron &amp; Echo

    6.脚本定时任务 <span class="hljs-preprocessor"># Example of job definition:</…

    Linux 2023年5月28日
    0114
  • js之数据类型(1)

    可以返回number,string,Boolean,object,undefined,function 运行结果如下: 注意如下几个数据类型的输出 显示数据类型转换和隐式数据类型转…

    Linux 2023年6月13日
    076
  • MySQL的约束

    主键约束 能够唯一确定一张表中的一条记录,通过给某个字段添加约束,就可以使得该字段不重复且不为空 create table user( id int primary key, na…

    Linux 2023年6月7日
    069
  • docker安装minio

    拉取镜像 docker pull minio/minio 运行容器 docker run–net=”host”–name minio…

    Linux 2023年6月7日
    071
  • php+nginx环境搭建

    1、安装基础环境: yum -y install gcc bison bison-devel zlib-devel libmcrypt-devel mhash-devel open…

    Linux 2023年6月6日
    071
  • Linux系统编程之命名管道与共享内存

    在上一篇博客中,我们已经熟悉并使用了匿名管道,这篇博客我们将讲述进程间通信另外两种常见方式——命名管道与共享内存。 1.命名管道 管道是使用文件的方式,进行进程之间的通信。因此对于…

    Linux 2023年6月8日
    080
  • redis key的过期时间

    设置redis key的生存过期时间 Redis 有四个不同的命令可以用于设置键的生存时间(键可以存在多久)或过期时间(键什么时候会被删除) : EXPlRE 命令用于将键key …

    Linux 2023年5月28日
    083
  • CentOS 7 新系统 手动配置网络 简要步骤

    一、配置网卡文件 1.修改网卡文件进入网卡配置文件目录 2.查看网卡文件 CentOS中网卡文件一般为 ifcfg-ens* 这样的文件,多块网卡会有多个类似文件 3.编辑网卡文件…

    Linux 2023年6月8日
    073
  • 冯·诺依曼体系结构

    cpu运算速度>寄存器速度>L1~L3Cache>内存>外设(磁盘)>光盘 外设(输入设备、输出设备)不和cpu直接数据交换 cpu直接和内存数据交换…

    Linux 2023年6月13日
    083
  • OpenStack 发放云主机

    登陆网址 具体安装步骤欢迎参照我的博客:https://www.cnblogs.com/kongshuo/p/16618008.html用户名 admin 密码 redhat 创建…

    Linux 2023年6月8日
    0107
  • VMware 虚拟机图文安装和配置 Rocky Linux 8.5 教程

    前言这是《VMware 虚拟机图文安装和配置 AlmaLinux OS 8.6 教程》一文的姐妹篇教程,如果你需要阅读它,请点击这里。2020 年,CentOS 宣布:计划未来将重…

    Linux 2023年6月7日
    0218
  • JS实现整个DIV里的字号整体放大或缩小

    JS实现对DIV里内容的字体方法或缩小 html代码 只写主要代码,样式可以自己写 <div class="content_sms"> &#x8FD…

    Linux 2023年6月7日
    081
  • 蓝桥杯真题:纯质数

    蓝桥杯 2021 年国赛真题《纯质数》的 Python 解法。 蓝桥杯 2021 年国赛真题:纯质数。 题目大意 输出 1 到 20210605 之间(包括两端)的”纯…

    Linux 2023年6月13日
    092
  • Redis使用Swap,但系统可用内存充足

    最近生产环境遇到一个很奇怪的问题,系统内存32G,redis使用8G左右,剩余的内存都被系统cache使用,从表面上看系统可用内存有20G左右。但是系统运行过程中,redis时不时…

    Linux 2023年6月14日
    081
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球