Java 11 已经发布。这是一个主要版本,因为它有长期支持(LTS)。但甲骨文也将其设置为陷阱(故意或偶然)。
陷阱
23年来,开发人员从Oracle下载了JDK并免费使用它。在您最喜爱的搜索引擎中输入“JDK”,顶部链接将显示在Oracle Java SE下载页面中。但是那个搜索和那个链接现在是一个陷阱。
所有网络搜索带你去的Oracle JDK现在都是貌似免费的商业广告。
这些条款的关键部分如下:
你不得:将本程序用于任何数据处理或除开发,测试,原型设计和演示您的应用程序之外的任何商业,生产或内部业务目的;
如果按照下面步骤去做,就是掉入了Oracle的陷阱:
1. 下载Oracle JDK(因为这是你一直以来所做的,这是网络搜索告诉你的)
2. 在生产中使用它(因为您没有意识到许可证已更改)
3. 从甲骨文的版权授权团队那里得到一个讨厌的电话,他们要你付钱,因为你在生产中使用它了
换句话说,
Oracle可以依赖Java开发人员的惯性来使他们下载错误的(商业)Java版本。
除非您仔细阅读text / warnings / legalese,否则您可能甚至没有意识到Oracle JDK现已商业化,因此您有责任支付Oracle for Java。
这个陷阱是Oracle的恶意行为吗?读者会有自己的看法。我确实建议考虑到Oracle在开发Java方面投入了大量资金,因此为那些想要它的人提供商业计划是合理的。他们确实提供了免费的替代品......
解决方案
解决方案很简单!
使用OpenJDK构建。
除了商业JDK之外,Oracle还生成OpenJDK版本。它是免费的,零成本和GPL许可(具有Classpath异常,因此对于商业用途是安全的)。在这里下载: https://jdk.java.net/11/ 。
现在,Oracle提供的OpenJDK构建是唯一可用的版本。但是很快就会有更多,例如来自AdoptOpenJDK(可能在本周晚些时候)。而除了Oracle之外的其他组的OpenJDK构建将用于Java 11的长期支持。