从OracleJDK 8迁移到OpenJDK 11之后,除了以下例外,我们的Tomcat 8不再启动:
Caused by: java.lang.ClassNotFoundException: org.ietf.jgss.GSSContext
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 43 common frames omitted
我们的Spring Boot(Kotlin + Java)项目是由Gradle 5.2.1构建的,而我尝试将以下配置添加到我们的build.gradle中:
compileJava {
inputs.property("moduleName", moduleName)
doFirst {
options.compilerArgs = [
'--module-path', classpath.asPath,
'--add-modules', 'java.security.jgss'
]
classpath = files()
}
}
不幸的是,这不能解决问题。如果有人提出建议,将不胜感激!
答案 0 :(得分:1)
好的,我发现了如何使其工作:
我必须在IntelliJ中的VM选项中添加--add-modules java.security.jgss(并添加到Gradle(请参见下文),然后才能正常工作。)
bootRun {
jvmArgs = ["--add-modules", "java.security.jgss"]
}