【问题标题】:How to fix when run "flutter doctor --android-licenses"?运行“flutter doctor --android-licenses”时如何修复?
【发布时间】:2021-02-05 04:40:56
【问题描述】:

当我运行 flutter doctor --android-licenses 时,出现以下错误:

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:522)
        ... 5 more

我该如何解决?谢谢!

【问题讨论】:

    标签: android flutter


    【解决方案1】:

    用 OpenJDK 8 替换 OpenJDK 11 目前可以解决我的问题。例如:

    sudo apt autoremove openjdk-11-*
    sudo apt purge openjdk-11-*
    
    sudo apt install openjdk-8-jdk openjdk-8-jdk-headless
    

    【讨论】:

      【解决方案2】:

      在 Linux 中使用以下命令

      export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
      

      在 Windows 的情况下使用下面的:

      set JAVA_OPTS=-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee
      

      注意:

      这不适用于Java 11+,它没有Java EE 模块。为此,我建议降级您的Java version 或等待Flutter update

      【讨论】:

      • 你用的是什么java版本?
      • &gt; java -version openjdk version "11.0.8" 2020-07-14 OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu118.04.1) OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu118.04.1, mixed mode, sharing)
      • 这是我的java版本
      • 当我再次运行flutter doctor --android-license 时。我得到了Error occurred during initialization of boot layer java.lang.module.FindException: Module java.se.ee not found
      猜你喜欢
      • 2021-11-22
      • 2021-01-19
      • 1970-01-01
      • 1970-01-01
      • 2021-02-18
      • 2021-09-15
      • 2018-11-18
      相关资源
      最近更新 更多