找回密码
 立即注册
首页 业界区 业界 [Java/OracleJDK/OpenJDK] JDK厂商的识别与替换

[Java/OracleJDK/OpenJDK] JDK厂商的识别与替换

曲愍糙 12 小时前
0 序言


  • jdk版本> oracle jdk 8u202,对于企业而言,将有知识产权风险。此时,建议使用低版本jdk,或者使用openjdk。
即 oracle jdk 8u202,无产权风险
1 概述: Jdk的厂商

1.1 识别JDK的厂商

识别Java命令的厂商


  • 方法1:要查看Java的厂商信息,可以通过命令行输入java -version,或者使用Java代码获取相关信息。
  1. $ java -version
  2. java version "1.8.0_261"
  3. Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
  4. Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)
复制代码
这将显示当前安装的Java版本和厂商信息。例如,如果输出中包含“Java(TM) SE Runtime Environment”,则表示这是由Oracle提供的JDK;如果是“OpenJDK Runtime Environment”,则表示是OpenJDK。


  • 方法2
  1. $ java -XshowSettings:properties -version
  2.   java.runtime.name = Java(TM) SE Runtime Environment
  3.   java.runtime.version = 1.8.0_261-b12
  4.   java.specification.name = Java Platform API Specification
  5.   java.specification.vendor = Oracle Corporation
  6.   java.specification.version = 1.8
  7.   java.vendor = Oracle Corporation
  8.   java.vendor.url = http://java.oracle.com/
  9.   java.vm.name = Java HotSpot(TM) 64-Bit Server VM
  10.   java.vm.specification.vendor = Oracle Corporation
  11.   java.vm.specification.version = 1.8
  12.   java.vm.vendor = Oracle Corporation
复制代码
查看指定Java进程的厂商


  • 方法1
  1. # jps -l
  2. # jcmd {pid} PerfCounter.print
  3.   ...
  4.   java.property.java.vm.specification.vendor="Oracle Corporation"
  5.   java.property.java.vm.vendor="Oracle Corporation"
  6.   ...
复制代码

  • 方法2
  1. # jps -l
  2. # jcmd {pid} VM.system_properties
  3.   java.vm.specification.vendor=Oracle Corporation
  4.   java.specification.vendor=Oracle Corporation
  5.   ...
  6.   #java.home=D\:\\Program\\IDEA\\IDEA_COMMUNITY 2022.2\\jbr
  7.   #java.home=D\:\\Program\\Java\\jdk-17.0.7
复制代码
1.2 OpenJDK 的获取


  • OpenJDK 官网


  • https://openjdk.org/
  • https://github.com/openjdk/jdk (支持 jdk9 及之后的 源码和jdk包的获取)


  • 微软官网
  • https://learn.microsoft.com/zh-cn/java/openjdk/download


  • https://adoptium.net/zh-CN/temurin/releases?version=8 (支持获取 openjdk8 的安装包,微软官方链接至此)
  • https://learn.microsoft.com/zh-cn/java/openjdk/download#openjdk-8 √
  • https://adoptium.net/temurin/releases/?version=8 √ (微软官方链接至此)
  • https://learn.microsoft.com/zh-cn/java/openjdk/download#openjdk-11 √
  • https://learn.microsoft.com/zh-cn/java/openjdk/download#openjdk-17 √


  • Docker 镜像:
docker-release/docker.io/library/eclipse-temurin:8-jdk-alpine
1.3 基于Java构建的常用软件

IDEA


  • IDEA 【软件本身】是 openjdk,但IDEA中开发者给【项目工程】配置的 jdk,要单独检查。
IDEA 内置的 jdk,默认是使用 openjdk
如: java.home=D\:\\Program\\IDEA\\IDEA_COMMUNITY 2022.2\\jbr
DBeaver


  • DBVeaver 依赖的jdk,需用户自行配置
如 java.home=D:\Program\Java\jdk-17.0.7


  • 修改DBeaver设置的JDK
D:\Program\DBeaver-23-0-4\dbeaver\dbeaver.ini :
  1. -vm
  2. D:\Program\Java\openjdk17\jdk-17.0.16+8\bin\javaw.exe
  3. -vmargs
  4. -XX:+IgnoreUnrecognizedVMOptions
  5. -Dosgi.requiredJavaVersion=17
  6. --add-modules=ALL-SYSTEM
  7. --add-opens=java.base/java.io=ALL-UNNAMED
  8. --add-opens=java.base/java.lang=ALL-UNNAMED
  9. --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
  10. --add-opens=java.base/java.net=ALL-UNNAMED
  11. --add-opens=java.base/java.nio=ALL-UNNAMED
  12. --add-opens=java.base/java.nio.charset=ALL-UNNAMED
  13. --add-opens=java.base/java.text=ALL-UNNAMED
  14. --add-opens=java.base/java.time=ALL-UNNAMED
  15. --add-opens=java.base/java.util=ALL-UNNAMED
  16. --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
  17. --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED
  18. --add-opens=java.base/jdk.internal.vm=ALL-UNNAMED
  19. --add-opens=java.base/sun.nio.ch=ALL-UNNAMED
  20. --add-opens=java.base/sun.security.ssl=ALL-UNNAMED
  21. --add-opens=java.base/sun.security.action=ALL-UNNAMED
  22. --add-opens=java.base/sun.security.util=ALL-UNNAMED
  23. -Xms64m
  24. -Xmx1024m
  25. -Ddbeaver.distribution.type=zip
复制代码
Y 推荐文献


  • JDK如何判断自己是什么公司的 - CSDN
  • [JVM/APM] 应用诊断工具之jcmd命令 - 博客园/千千寰宇
X 参考文献

    本文作者:        千千寰宇   
    本文链接:         https://www.cnblogs.com/johnnyzen   
    关于博文:评论和私信会在第一时间回复,或直接私信我。   
    版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA     许可协议。转载请注明出处!
    日常交流:大数据与软件开发-QQ交流群: 774386015        【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!   

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册