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 を実行すると、上記のエラーが発生します。なぜこのようなエラーが発生するのか、またどうすれば修正できるのか、誰か知っていますか? すでに flutter コンソールで実行しています。
ベストアンサー1
Android SDK マネージャーからAndroid SDK コマンドライン ツールをインストールすることで問題は解決しました。
- ツール> SDK マネージャーを開く
- 左から、外観と動作>システム設定> Android SDKを選択します。
- トップメニューからSDKツールを選択します
- Android SDK コマンドライン ツールをチェックし、「適用」をクリックします。
ステップ 1 の代替: WINDOWS:ファイル>設定(Ctrl+Alt+S) / MAC: Android Studio >設定
この修正はWindows、Linux、Mac OS Xで機能します。
上記の手順を実行しても問題が解決しない場合は、システムをJDK 8にアップグレードしてみてください。JDK 8へのアップグレードに関する公式ドキュメントは以下から入手できます。ここ。