龙空技术网

CentOS7.3配置JDK14.0.2故障记录解决No such file or directory

你我谈财税工作室 100

前言:

而今姐妹们对“centos移除jdk”大体比较看重,小伙伴们都需要分析一些“centos移除jdk”的相关内容。那么小编同时在网上网罗了一些有关“centos移除jdk””的相关资讯,希望我们能喜欢,我们一起来了解一下吧!

因为是本地我直接关闭了防火墙, 以下是基本的防火墙的配置命令开启

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

标签: #centos移除jdk #apache directory详解 #centosjdk不起作用 #centos配置jdk出问题如何会退到前一个版本