325 votes

flutter doctor --Android-licenses donne une erreur java

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
    at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
    at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
    at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 5 more

J'obtiens l'erreur ci-dessus en exécutant flutter doctor --Android-licenses. Quelqu'un sait-il pourquoi cela se produit et comment je peux le corriger ? Je l'exécute déjà sur la console flutter.

0voto

Gonçalo Points 350

Les solutions ci-dessus fonctionnent parfaitement, mais il y a une solution que je vois moins souvent que prévu : sdkman => https://sdkman.io/

Avec un tel outil installé, changer de version de java est aussi rapide que ( Adoptez java 8 comme exemple) :

 sdk install java 8.0.282.hs-adpt
 sdk use java 8.0.282.hs-adpt

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X