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当运行flutter doctor --android-licenses时,我得到了上面的错误。有没有人知道为什么会发生这种情况,以及我如何修复它?我已经在颤动控制台上运行过了。
发布于 2020-10-02 04:31:15
从Android SDK管理器安装Android SDK命令行工具就完成了这项工作。
从顶部菜单<>H222
从顶部菜单中选择 Tools > SDK Manager
第1步的替代方案: WINDOWS:文件>设置 (Ctrl+Alt+S) / MAC:Android Studio > Preferences
此修复适用于Windows、Linux和Mac OS X。

如果您在执行上述步骤后仍然遇到问题,可以尝试将您的系统升级到JDK8。升级到JDK8的官方文档可从here获取。
发布于 2021-06-09 14:18:15
我是一个Mac用户,我解决了这个问题。
这个答案还可以帮助Windows用户和Linux用户从用户的反馈中解决问题。
首先,这是我在这个问题上遇到的
$ flutter医生-v

下面的命令不适用于我的情况。
$ flutter doctor --android-licenses

解决这个问题的方法是安装
Android SDK命令行工具。又是如何做到的?
您只需执行以下两个步骤即可。
安装: Android SDK命令行工具
步骤1.打开SDK管理器
顶层菜单->工具-> SDK管理器

步骤2.安装命令行工具
Android SDK Tools

然后点击OK按钮完成安装。
继续签署android许可证。
Android Studio安装完成后,您可以执行以下操作。
$ flutter doctor --android-licenses

在多次说好之后,所有的android许可证都已经签署了。
再次接受扑动医生的检查。
$ flutter医生-v

你可以看到所有的安卓许可证都被接受了。
恭喜,您已经完成了这项任务!
发布于 2021-05-12 11:42:08
我也遇到了同样的问题,通过安装android studio的coomand-line工具解决了这个问题
单击文件、设置,然后在搜索栏上键入sdk,然后单击android sdk

然后点击android sdk tools,选中 command-line tools框,点击apply allow to download。然后尝试在cmd上再次运行flutter doctor --android-licenses,系统将提示您接受许可证
https://stackoverflow.com/questions/61993738
复制相似问题