我刚刚在win10上安装了D:\Program Files\Java\jdk-17.0.2下的
C:\Users\xxx>javac -version
javac 17.0.2我下载了tomcat10压缩文件并在E:\wsl\apache-tomcat-10.0.22下解压缩
然后设置CATALINA_HOME和PATH:
set|findstr CATA
CATALINA_HOME=E:\wsl\apache-tomcat-10.0.22
echo %JRE_HOME%
D:\Program Files\Java\jdk-17.0.2\jre
echo %PATH%
....;E:\wsl\apache-tomcat-10.0.22\bin;E:\wsl\apache-tomcat-10.0.22\lib;
CLASS_PATH=D:\Program Files\Java\jdk-17.0.2\lib\dt.jar;D:\Program Files\Java\jdk-17.0.2\lib\tools.jar;%JRE_HOME%\lib然后在cmd.exe中,我运行了startup或catalina run,它打印了一些错误消息:
catalina run
Using CATALINA_BASE: "E:\wsl\apache-tomcat-10.0.22"
Using CATALINA_HOME: "E:\wsl\apache-tomcat-10.0.22"
Using CATALINA_TMPDIR: "E:\wsl\apache-tomcat-10.0.22\temp"
Using JRE_HOME: "D:\Program Files\Java\jdk-17.0.2\jre"
Using CLASSPATH: "E:\wsl\apache-tomcat-10.0.22\bin\bootstrap.jar;E:\wsl\apache-tomcat-10.0.22\bin\tomcat-juli.jar"
Using CATALINA_OPTS: ""
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.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:181)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:133)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:156)
at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:211)
at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:50)
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:520)尝试访问localhost:8080,没有显示任何内容。
上面的错误显示了什么?我在陷害猫的时候错过了什么吗?
谢谢。
发布于 2022-07-23 13:17:00
我最后发现这个问题是由以下原因引起的:
(1)我使用的是jdk 17 (2)软件,如Tomcat10和netbeans14只支持jdk8-14运行,而不是更高版本的JRE。此问题存在于windows/linux中。
解决方案:在%JAVA_HOME%下删除jre目录,并将其替换为下载的oracle jre8目录。问题解决了,tomcat和netbeans都可以开始。
把它标记出来。
https://stackoverflow.com/questions/73074233
复制相似问题