指定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
相关推荐
智慧物业老杨9 小时前
物业数字化落地思考:真正的转型,是底层数据秩序的重构
java·大数据·人工智能·微服务·系统架构
星空12 小时前
金蝶苍穹build.gradle配置
java·build.gradle
C++ 老炮儿的技术栈13 小时前
我们在设计tcp协议时,要传一个字符串过去,报文:头十长度十内容,是否要把‘\0‘也填入,长度是否包含‘\0‘
开发语言·数据结构·c++·mfc·c
传奇开心果编程14 小时前
【Rust入门练中学】第2课:变量、可变性与常量
开发语言·学习·rust
zr想努力14 小时前
从0开始配置Perforce4环境
开发语言
步行cgn15 小时前
Spring 基于 XML 的自动装配:byName 详解
java·后端·spring
大帅点兵15 小时前
Apache Ant 1.9.9 完整讲解
java
幸运小圣15 小时前
PointerEvent 常用属性与事件整理【JavaScript】
开发语言·javascript·ecmascript
LuTshoes16 小时前
spring ai 实战 手搓 PlaneExecuteAgent
java·人工智能·spring·ai
这料鬼有毒16 小时前
二刷hot100-73.矩阵置零
java