jdk11 scala 2.12.8 совместимость - PullRequest
       67

jdk11 scala 2.12.8 совместимость

4 голосов
/ 11 декабря 2019

Мой проект scala 2.12.8 работал нормально с jdk8, после решения нескольких проблем с компиляцией мне удалось собрать проект scala 2.12.8 с jdk11. Однако я получил исключение загрузки класса времени выполнения, как показано ниже:

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, что означает, что код, который проверяет типы, может вызвать ошибки компоновки во время выполнения.

Я не уверен, связана ли полученная ошибка спроблема, упомянутая на сайте scala. Если нет идеи, в чем может быть причина?

...