CentOS7.3配置JDK14.0.2故障记录解决
发布时间:2024-03-31 10:22:55 浏览量:68
因为是本地我直接关闭了防火墙, 以下是基本的防火墙的配置命令
开启
service firewalld start
重启
service firewalld restart
关闭
service firewalld stop
查看防火墙规则
firewall-cmd --list-all
查询端口是否开放
firewall-cmd --query-port=8080/tcp
开放8080端口
firewall-cmd --permanent --add-port=8080/tcp
移除端口
firewall-cmd --permanent --remove-port=8080/tcp
重启防火墙(修改配置后要重启防火墙)
解压
tar -zxvf openjdk-14.0.2_linux-x64_bin.tar.gz
配置环境变量
vim /etc/profile
在内容最下添加 JAVA_HOME是jdk的位置
JAVA_HOME=/usr/local/java/jdk-14.0.2/
CLASSPATH=$JAVA_HOME/lib
PATH=$JAVA_HOME/bin:$PATH
export PATH JAVA_HOME CLASSPATH
保存退出 重新加载环境变量
source /etc/profile
测试java 显示版本号则成功
java -version
弄好tomcat9 启动试试???
sh bin/start.sh
报错如下...
/usr/local/tomcat/apache-tomcat-9.0.13/bin/catalina.sh: line 464: /usr/local/java/jdk-14.0.2/jre/bin/java: No such file or directory
意思是没有jre???
然后用jdk生成jre
cd /usr/local/java/jdk-14.0.2/
jlink --module-path jmods --add-modules java.base --output jre
再次启动tomcat,又报错如下
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
WARNING: Unknown module: java.rmi specified to --add-opens
Exception in thread "main" java.lang.NoClassDefFoundError: java/util/logging/Logger
at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:61) at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:181) at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:116) at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:139) at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:194) at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:52)
Caused by: java.lang.ClassNotFoundException: java.util.logging.Logger
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
在/etc/profile文件中指定jre的位置为jdk的位置, tomcat启动失败的问题解决!
我猜是tomcat如果没有在环境变量中找到jre的位置,就会默认到jdk的目录下寻找jre,但是jdk11中已经没有jre了,需要单独生成,但是我不会使用模块化,那就直接指定jre为jdk的位置吧,反正jdk包括jre.(瞎猜瞎猜 都是瞎猜)
/etc/profile文件末添加如下, 解决jre找不到的问题
JAVA_HOME=/usr/local/java/jdk-14.0.2/
JRE_HOME=$JAVA_HOME/jre
CLASSPATH=$JAVA_HOME/lib
PATH=$JRE_HOME/bin:$JAVA_HOME/bin:$PATH
export PATH JAVA_HOME CLASSPATH