Kotlin lost some JRE class

On the server when deploying embedded Tocmat, we found java.lang.NoClassDefFoundErrorabnormalities org.ietf.jgss.GSSException:

Exception in thread "main" java.lang.NoClassDefFoundError: org/ietf/jgss/GSSException
        at org.apache.catalina.startup.Tomcat.initSimpleAuth(Tomcat.java:602)
        at org.apache.catalina.startup.Tomcat.getEngine(Tomcat.java:473)
        at org.apache.catalina.startup.Tomcat.getHost(Tomcat.java:444)
        at org.apache.catalina.startup.Tomcat.addContext(Tomcat.java:240)
        at develon.java.EmbeddedTomcat.init(EmbeddedTomcat.kt:38)
        at develon.java.EmbeddedTomcatKt.main(EmbeddedTomcat.kt:76)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.jetbrains.kotlin.runner.AbstractRunner.run(runners.kt:61)
        at org.jetbrains.kotlin.runner.Main.run(Main.kt:110)
        at org.jetbrains.kotlin.runner.Main.main(Main.kt:120)
Caused by: java.lang.ClassNotFoundException: org.ietf.jgss.GSSException
        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)
        ... 13 more

After locate investigation found Kotlin seems to be entirely own a runtime library, so there is still not compatible with a certain degree of

/snap/kotlin/38/lib/kotlin-reflect-sources.jar
/snap/kotlin/38/lib/kotlin-reflect.jar
/snap/kotlin/38/lib/kotlin-runner.jar
/snap/kotlin/38/lib/kotlin-script-runtime-sources.jar
/snap/kotlin/38/lib/kotlin-script-runtime.jar
/snap/kotlin/38/lib/kotlin-scripting-common.jar
/snap/kotlin/38/lib/kotlin-scripting-compiler-impl.jar
/snap/kotlin/38/lib/kotlin-scripting-compiler.jar
/snap/kotlin/38/lib/kotlin-scripting-jvm.jar
/snap/kotlin/38/lib/kotlin-source-sections-compiler-plugin.jar
/snap/kotlin/38/lib/kotlin-stdlib-jdk7-sources.jar
/snap/kotlin/38/lib/kotlin-stdlib-jdk7.jar
/snap/kotlin/38/lib/kotlin-stdlib-jdk8-sources.jar
/snap/kotlin/38/lib/kotlin-stdlib-jdk8.jar
/snap/kotlin/38/lib/kotlin-stdlib-js-sources.jar
/snap/kotlin/38/lib/kotlin-stdlib-js.jar
/snap/kotlin/38/lib/kotlin-stdlib-sources.jar
/snap/kotlin/38/lib/kotlin-stdlib.jar

Bird easy to use Java to run a basic library Kotlin is, what does?

kotlin-stdlib.jar
kotlin-reflect.jar
kotlin-script-runtime.jar

On my Ubuntu

/snap/kotlin/38/lib/kotlin-stdlib.jar
/snap/kotlin/38/lib/kotlin-reflect.jar

The Tomcat is enough to make me run up

root@iZfi4626828hfcZ:~/Kotlin# java -cp 'nginx.jar:tomcat-embed-core-7.0.52.jar:tomcat-embed-logging-juli-7.0.52.jar:tomcat-annotations-api-7.0.52.jar:/snap/kotlin/38/lib/kotlin-reflect.jar:/snap/kotlin/38/lib/kotlin-stdlib.jar' develon.java.EmbeddedTomcatKt
请输入主目录
工作目录: /root/Kotlin/.
启用 Spring
Sep 29, 2019 8:00:06 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-80"]
Sep 29, 2019 8:00:07 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Tomcat
Sep 29, 2019 8:00:07 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.52
开始注射 DispatcherServlet -> STARTING_PREP
注射失败: org/springframework/web/servlet/support/AbstractAnnotationConfigDispatcherServletInitializer
Sep 29, 2019 8:00:07 PM org.apache.catalina.loader.WebappLoader buildClassPath
INFO: Unknown loader jdk.internal.loader.ClassLoaders$AppClassLoader@8bcc55f class jdk.internal.loader.ClassLoaders$AppClassLoader
开始注射 DispatcherServlet -> STARTING_PREP
注射失败: org/springframework/web/servlet/support/AbstractAnnotationConfigDispatcherServletInitializer

Guess you like

Origin www.cnblogs.com/develon/p/11609668.html
Recommended