2017-07-28 17 views

Odpowiedz

5

Zobacz documentation łączysz się:

obecnych ograniczeń AOT ...

nie może skompilować kod Java, który używa dynamicznie generowanych klas i kodu bajtowego (wyrażeń lambda wywołują dynamiczne).

Ograniczenia te można rozwiązać w przyszłych wydaniach.

więc dwa potencjalnych wyjaśnienia:

  1. metod, które nie kompilacji wpaść w znanych ograniczeń
  2. inaczej, to błąd w „nowy, eksperymentalny” produktu

Najprawdopodobniej "opcja 2" jest lepszym wytłumaczeniem - zobacz jeszcze raz swój link.

Zawiera listę metod, które nie kompilację wraz z błędem który występuje:

cat java.base-list.txt 

# jaotc: java.lang.StackOverflowError 
exclude sun.util.resources.LocaleNames.getContents()[[Ljava/lang/Object; 
exclude sun.util.resources.TimeZoneNames.getContents()[[Ljava/lang/Object; 
exclude sun.util.resources.cldr.LocaleNames.getContents()[[Ljava/lang/Object; 
exclude sun.util.resources..*.LocaleNames_.*.getContents\(\)\[\[Ljava/lang/Object; 
exclude sun.util.resources..*.LocaleNames_.*_.*.getContents\(\)\[\[Ljava/lang/Object; 
exclude sun.util.resources..*.TimeZoneNames_.*.getContents\(\)\[\[Ljava/lang/Object; 
exclude sun.util.resources..*.TimeZoneNames_.*_.*.getContents\(\)\[\[Ljava/lang/Object; 
# java.lang.Error: Trampoline must not be defined by the bootstrap classloader 
exclude sun.reflect.misc.Trampoline.<clinit>()V 
exclude sun.reflect.misc.Trampoline.invoke(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; 
# JVM asserts 
exclude com.sun.crypto.provider.AESWrapCipher.engineUnwrap([BLjava/lang/String;I)Ljava/security/Key; 
exclude sun.security.ssl.* 
exclude sun.net.RegisteredDomain.<clinit>()V 
# Huge methods 
exclude jdk.internal.module.SystemModules.descriptors()[Ljava/lang/module/ModuleDescriptor; 

I podczas sprawdzania źródeł, na przykład getContents() - nie ma lambda.

więc metody, które nie są kompilacja najprawdopodobniej spowodowane faktem, że nowy kompilator „nie jeszcze gotowy”, aby skutecznie opracować arbitralną kod źródłowy Javy!

+0

Jestem bardzo wdzięczny za pomoc. Dzięki! – cwei

Powiązane problemy