Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat can';在OpenJDK 11上找不到类_Java_Spring Boot_Kotlin_Java 11_Jgss - Fatal编程技术网

Java Tomcat can';在OpenJDK 11上找不到类

Java Tomcat can';在OpenJDK 11上找不到类,java,spring-boot,kotlin,java-11,jgss,Java,Spring Boot,Kotlin,Java 11,Jgss,从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(ClassLo

从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.security.jgss添加到IntelliJ中的VM选项中,(以及添加到Gradle(见下文),然后它就可以工作了

bootRun {
  jvmArgs = ["--add-modules", "java.security.jgss"]
}

你能确认你在运行时也添加了
java.security.jgss
模块吗?据我所知,你已经添加了编译器参数,这使得这个模块仅可用于编译。你仍然需要在运行tomcat时添加相同的选项。谢谢Kedar。我试着查找,但不确定如何进行。这是真的吗是说我必须将其添加到module-info.java中?