OpenJDK 是 JDK 的开放源码版本,以 GPL 协议的形式发布,而 JDK 则是采用 JRL 协议,对商业使用进行收费。
▎JDK Versions
> OracleSDK / JavaSE
根据付费商业许可(但可供开发使用) , 适用于那些不想使用 GPLv2 + CE
,或者将 Oracle JDK
与 Oracle 产品或服务一起使用的用户。
> Oracle OpenJDK
Oracle 自身还维护着另一个协议的 Java 版本:OpenJDK,像是 RedHat 和 CentOS 的关系。
1 | $ java --version |
> AdoptOpenJDK
- https://adoptopenjdk.net
- https://adoptopenjdk.net/support.html
- https://github.com/AdoptOpenJDK/homebrew-openjdk
- AdoptOpenJDK builds
该版本也是免费的、完全无品牌的 OpenJDK 版本,基于 GPL 开源协议(+Classpath Extension),以免费软件的形式提供社区版的 OpenJDK 二进制包,公司也可安全且放心使用。与由 Oracle 的 OpenJDK 构建版本不同,这些版本会提供更长的支持,像 Java 11 一样,至少提供 4 年的免费长期支持(LTS)计划。
AdoptOpenJDK 是一个由社区驱动的项目,如果其他群组在 OpenJDK 的源码仓库中创建和发布了安全修复程序,它们也会提供构建。 IBM 和 Red Hat 也曾表示他们打算提供这些安全补丁。
1 | brew tap AdoptOpenJDK/openjdk |
▎macOS x64 OpenJDK 安装
Make sure you have downloaded the latest macOS x64 jdk binary to a directory that will not move or be deleted, and use Terminal/Command Prompt to cd into it.
手动下载安装
提取 .tar.gz。将下载好的文件放到:/Library/Java/JavaVirtualMachines
下
使用 homebrew
1 | brew tap AdoptOpenJDK/openjdk |
该安装方式并不会自动配置 ENV,需要按下面方式指定配置:
将指定版本的 Java 添加到您的PATH中:
1 | export PATH=$PWD/jdk-11.0.2+9/Contents/Home/bin:$PATH |
1 | # Set PATH for JAVA |
检查Java是否正确安装:
1 | $ java --version |
▎支持开源软件的哲学思考
软件产业已经普通认同开源软件推动了行业的发展。 由于其开源自由的性质,OSS 许可证允许人们修改和改编其他人的软件,而不用担心会受到惩罚。
许多人也喜欢 OSS 软件中 的 像啤酒一样免费
的性质,但这给作者带来了巨大的成本! 像其他任何人一样,软件开发人员需要生存。 像 Oracle 供应商 (每年至少投入上千万美金) 投入大量的资金 到 Java SE
的开发上,他们也需要获取相应的补偿。
所以,尽管你不会被强制付费去使用一个软件,但有时我们最终用户也应该思考一下如何能支持 Java SE 生态系统,以确保它有一个持久的未来!