jdk11 scala 2.12.8兼容性

我的scala 2.12.8项目在jdk8上运行良好,解决了一些编译问题后,我设法用jdk11构建了scala 2.12.8项目。但是我得到了如下的运行时类加载异常

Exception in thread "main" java.lang.NoClassDefFoundError: play/api/http/JavaHttpFiltersDelegate$AjcClosure1
    at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.base/java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    at java.base/java.lang.Class.getDeclaredConstructors(Unknown Source)
    at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:245)
    at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:115)
    at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:706)
    at com.google.inject.internal.UntargettedBindingProcessor$1.visit(UntargettedBindingProcessor.java:54)
    at com.google.inject.internal.UntargettedBindingProcessor$1.visit(UntargettedBindingProcessor.java:36)
    at com.google.inject.internal.UntargettedBindingImpl.acceptTargetVisitor(UntargettedBindingImpl.java:49)
    at com.google.inject.internal.UntargettedBindingProcessor.visit(UntargettedBindingProcessor.java:35)
    at com.google.inject.internal.UntargettedBindingProcessor.visit(UntargettedBindingProcessor.java:27)
    at com.google.inject.internal.BindingImpl.acceptVisitor(BindingImpl.java:99)
    at com.google.inject.internal.AbstractProcessor.process(AbstractProcessor.java:54)
    at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:186)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103)
    at com.google.inject.Guice.createInjector(Guice.java:87)
    at com.google.inject.Guice.createInjector(Guice.java:78)
    at play.api.inject.guice.GuiceBuilder.injector(GuiceInjectorBuilder.scala:185)
    at play.api.inject.guice.GuiceApplicationBuilder.build(GuiceApplicationBuilder.scala:137)
    at play.api.inject.guice.GuiceApplicationLoader.load(GuiceApplicationLoader.scala:21)
    at play.core.server.ProdServerStart$.start(ProdServerStart.scala:51)
    at play.core.server.ProdServerStart$.main(ProdServerStart.scala:25)
    at play.core.server.ProdServerStart.main(ProdServerStart.scala)
Caused by: java.lang.ClassnotFoundException: play.api.http.JavaHttpFiltersDelegate$AjcClosure1
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
    ... 23 more

根据scala网站https://docs.scala-lang.org/overviews/jdk-compatibility/overview.html

  

从Scala 2.13.0、2.12.8和2.11.12开始,对JDK 11的支持还不完整。值得注意的是,scalac不会强制执行Java Platform Module System的限制,这意味着类型检查的代码可能会在运行时发生链接错误。

我不确定我得到的错误是否与scala网站提到的问题有关。如果不知道是什么原因?

hn3dbdbdb 回答:jdk11 scala 2.12.8兼容性

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2944198.html

大家都在问