Tomcat在OpenJDK 11上找不到类

问题描述 投票:1回答:1

从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()
      }
    }

不幸的是,这并没有解决问题。如果有人有建议,那将不胜感激!

java spring-boot kotlin java-11 jgss
1个回答
1
投票

好的,我发现了如何使它工作:

我必须将--add-modules java.security.jgss添加到IntelliJ中的VM选项中(以及Gradle(见下文)),然后它可以工作。

bootRun {
  jvmArgs = ["--add-modules", "java.security.jgss"]
}
© www.soinside.com 2019 - 2024. All rights reserved.