指定Tomcat运行的JDK地址

JAVA_HOME:指向 JDK 安装目录,识别 Java 运行时。

JRE_HOME:通常由 JAVA_HOME 自动推导,手动设置可能导致冲突,因此建议使用 unset 清除。

命名为setenv.sh,放在 tomcat/apache-tomcat-9.0.111/bin 目录下

bash 复制代码
export JAVA_HOME=/data/soft/jdk-21.0.2
unset JRE_HOME

1,适用于类似这种缺少模块的报错

bash 复制代码
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.b
ase/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java
.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=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:176)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:115)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:136)
at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:185)
at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:47)
Caused by: java.lang.ClassNotFoundException: java.util.logging.Logger
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
... 6 more

2, Java 无法运行

bash 复制代码
We cannot run Java, please ensure you have Java installed.
We have tried to execute /data/soft/jdk-21.0.2/bin/java but failed.
If you have installed Java in a unusual place you can set JAVA_HOME
相关推荐
NE_STOP2 天前
Vide Coding--AI编程工具的选择
java
LDR0062 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术2 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园2 天前
C++20 Modules 模块详解
java·开发语言·spring
程序员黑豆2 天前
JDK 下载安装与配置详细教程
java·前端·ai编程
小宇宙Zz2 天前
Maven依赖冲突
java·服务器·maven
swordbob2 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
咖啡八杯2 天前
GoF设计模式——享元模式
java·spring·设计模式·享元模式
十五喵源码网2 天前
基于springboot2+vue2的租房管理系统
java·毕业设计·springboot·论文笔记
摇滚侠2 天前
IDEA 创建 Java 项目 手动整合 SSM 框架
java·ide·intellij-idea