@Author Frank
@Date 2019-07-26

说明

JDK版本升级是Java开发人员一定会遇到的事情,为了保证生产环境的稳定,JDK升级需要多方面考虑,笔者从自身主导的多个系统的JDK升级情况出发,介绍下如何进行JDK升级。

环境:JDK1.7升级至JDK1.8;maven项目管理;Linux系统

步骤

1、思考为什么要升级JDK
2、目标版本的商业版权问题
3、项目代码变更
4、项目打包变更
5、项目部署变更
6、系统测试

笔者以实际项目为例,详细说明升级步骤
1、为什么要升级JDK --- 需要你自己回答
2、目标版本的商业版权问题 --- 我们知道JDK已经开始进行商业授权,因此升级前需查看授权问题。
3、项目代码变更
  1)项目采用maven管理,编译使用的是maven-compiler-plugin插件,需要将其中的编译环境配置设置为1.8
  2)本地调试时需要更改IDE的编译环境、JRE运行时环境为1.8
4、项目打包变更
  1)打包由CMO负责,有专门的打包服务器,需要通知CMO更换服务器JDK版本
5、项目部署变更
  1)JDK更换为1.8
  2)JVM启动脚本参数调整,适配1.8(比如1.8中使用元空间代替之前的永久代)
6、系统测试
  1)版本包完成后,检查class文件的编译版本号是否是目标编译环境版本,比如,笔者的是1.8,其对应的主版本号是52
    检查方法:挑选class文件(比如ABC.class),进入目录中,运行命令 javap -verbose ABC.class | grep "major version",会输出编译代码使用的编译环境版本,笔者的是1.8,因此输出 major version: 52
    JDK版本与编译代码对应关系见附属信息。
  2)启动应用后,检查应用使用的JDK版本,使用命令 lsof -p 应用进程号 | grep jdk 进行确认
  3)全量测试,检查jar包冲突等问题(有些冲突在启动时可发现、有些只有在访问具体功能时加载到具体类时才会体现,因此需要全量测试)

附属

1、JDK版本与编译编号对应关系 
   Java SE 14 = 58 ,
   Java SE 13 = 57 ,
   Java SE 12 = 56 ,
   Java SE 11 = 55 ,
   Java SE 10 = 54 ,
   Java SE 9 = 53 ,
   Java SE 8 = 52 ,
   Java SE 7 = 51 ,
   Java SE 6.0 = 50 ,
   Java SE 5.0 = 49 ,
   JDK 1.4 = 48 ,
   JDK 1.3 = 47 ,
   JDK 1.2 = 46 ,
   JDK 1.1 = 45 .
或查看此贴  https://en.wikipedia.org/wiki/Java_class_file

注意:个人原创,转载请说明出处

升级JDK版本注意事项相关推荐

  1. eclipseini设置使用的jdk_系统安全篇(四)-如何升级JDK版本?

    最近在做项目时为保证系统安全,使用漏洞扫描工具对程序所在的设备进行安全漏洞扫描,发现了好多JDK的安全漏洞,为了对发现的这些漏洞进行修复,需要升级JDK版本.本章主要介绍如何升级JDK版本. 第一步. ...

  2. windows升级java版本_JDK - 升级JDK版本到JDK8

    IDE : eclipse ------------------------------------------------------------------------------ 一.修改工程J ...

  3. centos下升级jdk版本

    2019独角兽企业重金招聘Python工程师标准>>> 由于安装的centos系统,自带了jdk1.6和1.7的版本,介于在平时开发,用了1.8.为了保持开发环境的一致,故此需要升级 ...

  4. centos7更换和升级JDK版本

    卸载 // 查询是否安装 jdk rpm -qa | grep jdk rpm -qa | grep java// 卸载安装的 jdk yum -y remove java* yum 查询支持的版本 ...

  5. Linux下升级jdk版本

    Linux更改jdk版本 首先下载我们需要的jdk版本 查看linux主机的jdk版本:java -version 服务器上jdk版本是1.7的想换成1.8的 1.首先去官网下载Linux版本的jdk ...

  6. was升级jdk版本_WebSphere 8.5 升级jdk版本

    目录 应用场景 安装jdk1.7 下载升级包 安装 上传文件 赋予文件可执行权限 执行安装文件 检查安装结果 增加java1.7配置文件 重启was 切换jdk 控制台切换 命令行切换 安装jdk1. ...

  7. 升级jdk版本后,出现SecurityException: JCE cannot authenticate the provider BC

    先分析异常的描述: JCE cannot authenticate the provider BC:在使用带签名的jar包时,java会对jar包的签名进行验证,以确认jar包是不是合法的. Secu ...

  8. java怎么查看jdk版本_java版本和jdk版本必须一样

    1.首先需要检查你的系统是否安装了java环境,2.在"开始"==>"运行"==>输入"cmd"弹出命令窗口,在命令窗口中输入java或者javac ...

  9. idea怎么看jdk版本_怎么看自己的jdk版本

    这个主要是在cmd下输入java-version来查看,64位的效果如下:如果没有标明是多少位的,默认一般是32位的,希望对你有用,我是ndk吧吧主,有问题可以ndk吧留言,谢谢! . 就安装最新版就 ...

最新文章

  1. ASP .NET Core使用connection string连接MySQL/MariaDB,并设置UTF-8编码
  2. Hive分区、分桶操作及其比较(转自:http://blog.csdn.net/epitomizelu/article/details/41911657)
  3. 主板的北桥芯片与南桥芯片
  4. 用9种办法解决 JS 闭包经典面试题之 for 循环取 i
  5. JavaScript split() 方法
  6. mysql主从注意事项_mysql主从复制亲测,以及注意事项
  7. [Windows]GFlag内存泄漏排查
  8. mysql审计audit插件_MySQL5.7 (审计)安装audit审计插件
  9. xssfdataformat 设置单元格式为数值_Excel表格为工作表的部分区域设置保护密码同时隐藏单元格内容。...
  10. 一种简便的安装使用 qemu 的方法
  11. php ajax 上传视频教程,PHP+Ajax从入门到精通全套视频教程 传智播客Ajax实战教程 共15课...
  12. 智能DNS Smartdns 简介
  13. 人工智能项目商业价值,主要体现在哪几个方面?
  14. 免费在线pdf转换成word转换器
  15. PCB设计基础及技巧
  16. 解决Win10更新后无法开启移动热点的问题
  17. android 5.0合并分区,中兴天极2 S291合并分区刷Android 5.1刷机教程
  18. 高通410 随身WIFI刷入Debian系统(玩法合集)
  19. 星瀚资本杨歌,慧聪集团姚永超,腾飞资本任溶 | TO B创业过冬策略,开源节流...
  20. 计算机组装与维护手写笔记,科学网—计算机技术的简单小结 - 熊伟的博文

热门文章

  1. 实时数据同步利器debezium教程
  2. UITableView性能优化
  3. 360老总给新入职的员工演讲
  4. Comparator用法中o1-o2的问题
  5. 对耦合电容、极间电容、旁路电容、去耦电容的理解小结
  6. HTML + CSS + JS 10 分钟实现一个吃豆豆小游戏(给女朋友玩)
  7. vue项目中扫码枪收款
  8. 计算机科学主题 一亩三分地 每日答题 题库
  9. cobar mysql5.6_Cobar init error
  10. QT 自定义加载等待(Loading)提示框