zoukankan      html  css  js  c++  java
  • 【原创】Open JDK更换过程及更换后的问题总结与分析

    由于2019年1月起Oracle对通用计算以外的应用场景开始收费,综合看来还是主要针对嵌入式的Java应用进行收费,毕竟嵌入式设备的数量是庞大的,可以有数亿元进账。

    因Oracle JDK收费,各大公司也开始了从Oracle JDK更换到开源的Open JDK,对于开源JDK,有经过验证的zulu版本,也有原汁原味的Open版本。

    zulu版本包含多种安装格式,有直接解压的zip包,也有msi安装文件,对于Linux和Mac OS,有tar包和dmg包可供选择。

    我们知道安装JDK是要配置环境变量的,但不是所有的软件都需要Java Develoment Kit,即javac.exe,大部分其实用的是Java Run Time,即java.exe。

    因为msi安装会写入注册表项,所以在Windows平台上,如果安装了zulu等开源JDK,并配置了JAVA_HOME及PATH环境变量,还提示未安装java,提示去Oracle网站下载,请安装msi格式,而不要使用zip解压方式。

    虽然工作中一直使用Java语言及JDK,但大多数的小伙伴,对于标准的JAVA环境变量,还是配置的五花八门,虽然看起来都能正常运行和编写java程序,但实际上在更换jdk或升级jdk版本时,工作量就来了。

    这里给出标准的参考:

      1. 首先环境变量分用户环境变量和系统环境变量,即Linux的user profile和system profile;

      2. 不管是配置用户级的还是系统级的,要知道用户环境变量会继承系统的环境变量;用户的环境变量只对自己有效,可以在不重启电脑的情况下生效,系统环境变量是对登录的每个用户都有效,当出现jdk版本冲突时,请检查是否设置了多重环境变量;

      3. 新建JAVA_HOME变量,指向JDK安装路径,指定到主目录即可,不需要指定到bin文件夹;例如C:Program FilesJavajdk-1.8.0_191,而不是C:Program FilesJavajdk-1.8.0_191in这个路径;

      4. 新建CLASSPATH变量,指向JDK安装路径下lib库里的dt.jar,以及JDK安装路径下jrelib文件夹下的tools.jar和rt.jar,以及当前目录;总体即为CLASSPATH=.;%JAVA_HOME%libdt.jar;%JAVA_HOME%jrelib t.jar;%JAVA_HOME%jrelib ools.jar; (Linux环境下将%JAVA_HOME%都修改为$JAVA_HOME)

      5. 更改Path环境变量,将%JAVA_HOME%in;添加到Path环境变量的最前端;

      6. 测试JAVA环境变量是否配置成功,请执行javac -version 和 java -version ;

      7. 项确定系统环境变量中是否配置了多个JDK,执行 where java.exe命令或where javac.exe ;(Linux下将where换成which即可)

      8. 测试所有涉及到Java的应用程序,因为Java分32位和64位,所以要确认清楚自己所装的JDK是否与自己需要用的开发环境所需一致;

    如果某个应用需要更换JDK,需要先换运行环境的JDK,再换开发环境的JDK,最后用开发环境新JDK打包程序jar文件,再在运行环境中运行,保证最小化的差异验证原则;

  • 相关阅读:
    zbb20181205 springboot_aop
    zbb20181204 GIT RM -R --CACHED 去掉已经托管在GIT上的文件
    zbb20181129 eclipse查看jar乱码问题
    反编译
    zbb20181116 验证 map list 是否存在空 null 字段信息
    zbb20181109 git 服务器上的 Git
    zbb20181023 idea,IntelliJ中的main函数和System.out.println()快捷键
    zbb20181023 idea,IntelliJ IDEA 2017.3-2018.1 全系列汉化包
    struts2拦截器(四)
    struts2OGNL表达式(三)
  • 原文地址:https://www.cnblogs.com/xiaoTT/p/9874110.html
Copyright © 2011-2022 走看看