这2天交付项目被客户扫描出漏洞,开始着手升级tomcat和JDK,所以遇到了一些问题,并在网络中进行了搜索尝试解决,发现都是一知半解,稀里糊涂。也许对于大神不削讨论这个话题,但是小白新手,以及负责交付上线项目的同学,在不了解新环境的情况下升级确实会浪费时间和带来一些项目风险。所以写了这篇文章,帮助大家少走弯路。
JDK官网下载:Java Downloads | Oracle 中国
JDK和tomcat版本对应表查询:Apache Tomcat® - Which Version Do I Want?
JDK8以后的版本安装方式都一样,但是JDK1.8以后企业级用户使用收费。另外JDK1.8以后安装后没有JRE目录,已经全部合并到JDK的bin目录,所以配置环境变量只需要配置JAVA_HOME即可。
cat /etc/redhat-release 查看操作系统版本nkvers
uname -r 查看系统内核版本
如果有openjdk 先卸载:卸载步骤如下。
rpm -qa|grep java 查看安装路径
rpm -e --nodeps 删除安装包
安装JDK
安装jdk:rpm -ivh rpm包名
JDK1.8以后注意,因为jre和jdk的bin目录已经合并,如果有需要可以这样生成jre,实际已经不需要专门jre目录了:
进入/usr/lib/jvm/jdk-11-oracle-x64执行:
./bin/jlink --module-path jmods --add-modules java.base --output jre
修改环境变量:vi /etc/profile 在最下方添加如下内容:
JAVA_HOME=/usr/java/jdk1.8.0_311-amd64
JRE_HOME=/usr/java/jdk1.8.0_311-amd64/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME PATH
****************JDK1.8以后版本环境变量配置,不需要在配置JRE****************
JAVA_HOME=/usr/lib/jvm/jdk-11-oracle-x64
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME PATH
执行:source /etc/profile
查看是否生效
echo $JAVA_HOME
测试安装是否成功
java -version
如果还是之前的JDK, 解决办法: 在终端里面依次输入以下
alternatives --install /usr/bin/java java /usr/java/ jdk1.8.0_311-amd64/bin/java 300
alternatives --install /usr/bin/javac javac /usr/java/ jdk1.8.0_311-amd64/bin/javac 300
alternatives --config java
在信息窗口就可以看见JDK信息,直接选择你安装的JDK顺序
jdk安装成功