升级JDK版本注意事项
@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版本注意事项相关推荐
- eclipseini设置使用的jdk_系统安全篇(四)-如何升级JDK版本?
最近在做项目时为保证系统安全,使用漏洞扫描工具对程序所在的设备进行安全漏洞扫描,发现了好多JDK的安全漏洞,为了对发现的这些漏洞进行修复,需要升级JDK版本.本章主要介绍如何升级JDK版本. 第一步. ...
- windows升级java版本_JDK - 升级JDK版本到JDK8
IDE : eclipse ------------------------------------------------------------------------------ 一.修改工程J ...
- centos下升级jdk版本
2019独角兽企业重金招聘Python工程师标准>>> 由于安装的centos系统,自带了jdk1.6和1.7的版本,介于在平时开发,用了1.8.为了保持开发环境的一致,故此需要升级 ...
- centos7更换和升级JDK版本
卸载 // 查询是否安装 jdk rpm -qa | grep jdk rpm -qa | grep java// 卸载安装的 jdk yum -y remove java* yum 查询支持的版本 ...
- Linux下升级jdk版本
Linux更改jdk版本 首先下载我们需要的jdk版本 查看linux主机的jdk版本:java -version 服务器上jdk版本是1.7的想换成1.8的 1.首先去官网下载Linux版本的jdk ...
- was升级jdk版本_WebSphere 8.5 升级jdk版本
目录 应用场景 安装jdk1.7 下载升级包 安装 上传文件 赋予文件可执行权限 执行安装文件 检查安装结果 增加java1.7配置文件 重启was 切换jdk 控制台切换 命令行切换 安装jdk1. ...
- 升级jdk版本后,出现SecurityException: JCE cannot authenticate the provider BC
先分析异常的描述: JCE cannot authenticate the provider BC:在使用带签名的jar包时,java会对jar包的签名进行验证,以确认jar包是不是合法的. Secu ...
- java怎么查看jdk版本_java版本和jdk版本必须一样
1.首先需要检查你的系统是否安装了java环境,2.在"开始"==>"运行"==>输入"cmd"弹出命令窗口,在命令窗口中输入java或者javac ...
- idea怎么看jdk版本_怎么看自己的jdk版本
这个主要是在cmd下输入java-version来查看,64位的效果如下:如果没有标明是多少位的,默认一般是32位的,希望对你有用,我是ndk吧吧主,有问题可以ndk吧留言,谢谢! . 就安装最新版就 ...
最新文章
- ASP .NET Core使用connection string连接MySQL/MariaDB,并设置UTF-8编码
- Hive分区、分桶操作及其比较(转自:http://blog.csdn.net/epitomizelu/article/details/41911657)
- 主板的北桥芯片与南桥芯片
- 用9种办法解决 JS 闭包经典面试题之 for 循环取 i
- JavaScript split() 方法
- mysql主从注意事项_mysql主从复制亲测,以及注意事项
- [Windows]GFlag内存泄漏排查
- mysql审计audit插件_MySQL5.7 (审计)安装audit审计插件
- xssfdataformat 设置单元格式为数值_Excel表格为工作表的部分区域设置保护密码同时隐藏单元格内容。...
- 一种简便的安装使用 qemu 的方法
- php ajax 上传视频教程,PHP+Ajax从入门到精通全套视频教程 传智播客Ajax实战教程 共15课...
- 智能DNS Smartdns 简介
- 人工智能项目商业价值,主要体现在哪几个方面?
- 免费在线pdf转换成word转换器
- PCB设计基础及技巧
- 解决Win10更新后无法开启移动热点的问题
- android 5.0合并分区,中兴天极2 S291合并分区刷Android 5.1刷机教程
- 高通410 随身WIFI刷入Debian系统(玩法合集)
- 星瀚资本杨歌,慧聪集团姚永超,腾飞资本任溶 | TO B创业过冬策略,开源节流...
- 计算机组装与维护手写笔记,科学网—计算机技术的简单小结 - 熊伟的博文