当前位置: 首页 > 面试题库 >

无法安装android-sdk:“ java.lang.NoClassDefFoundError:javax / xml / bind / annotation / XmlSchema”

萧宁
2023-03-14
问题内容

安装android sdk工具时,会发出以下错误:

java.lang.NoClassDefFoundError:javax / xml / bind / annotation / XmlSchema

为什么会发生这种情况,如何解决?

调试输出:

$ java --version
java 9
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
$ brew cask install android-sdk
==> Caveats
We will install android-sdk-tools, platform-tools, and build-tools for you.
You can control android sdk packages via the sdkmanager command.
You may want to add to your profile:
  'export ANDROID_SDK_ROOT=/usr/local/share/android-sdk'

This operation may take up to 10 minutes depending on your internet connection.
Please, be patient.

==> Satisfying dependencies
==> Downloading https://dl.google.com/android/repository/sdk-tools-darwin-3859397.zip
Already downloaded: /Users/tomasnovella/Library/Caches/Homebrew/Cask/android-sdk--3859397,26.0.1.zip
==> Verifying checksum for Cask android-sdk
==> Installing Cask android-sdk
==> 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.SdkManagerCli.main(SdkManagerCli.java:117)
==>     at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:93)
==> Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
==>     at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
==>     at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
==>     at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
==>     ... 5 more
Error: Command failed to execute!

==> Failed command:
/usr/local/Caskroom/android-sdk/3859397,26.0.1/tools/bin/sdkmanager tools platform-tools build-tools;26.0.1

==> Standard Output of failed command:


==> Standard Error of failed command:
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.SdkManagerCli.main(SdkManagerCli.java:117)

问题答案:

今天早上,我遇到了类似的问题(试图使用Unity3D为Android构建)。我最终卸载了JDK9并安装了Java SE Development Kit
8u144
。希望这可以帮助。

  1. brew cask uninstall java #卸载java9
  2. brew tap homebrew/cask-versions
  3. brew cask install java8 #安装java8
  4. touch ~/.android/repositories.cfg #没有此文件,下一步将发生错误
  5. brew cask install android-sdk


 类似资料:
  • 安装android sdk工具时,会发出以下错误: JAVAlang.NoClassDefFoundError:javax/xml/bind/annotation/XmlSchema 为什么会发生这种情况?如何解决? 调试输出:

  • There are some steps you must follow before you can build and run any code on your Android device. This is true regardless of whether you use Unity or write Android applications from scratch. 想要你的代码能够

  • 问题内容: 我在项目中将jdk更改为9版本,然后发生错误: 我尝试通过在pom.com上添加以下内容来解决此问题,但对我而言不起作用: 还有其他解决方法吗? 问题答案: 将包含所需类的工件添加到类路径。 似乎(未经测试)您需要的是javax.annotated API。有关详细信息,请参见https://mvnrepository.com/artifact/javax.annotation/jav

  • 3.1.安装Android SDK Android软件开发包(SDK)是你开发Android应用所需的一切。除了一套开发的工具集,它也提供了一个用以测试的平台。你可以在Android SDK的下载页面为你的目标平台下载到对应的Android SDK。 下载之后,解压到一个方便访问的目录。在本书随后的例子中,将假定你的SDK安装目录在~/andorid-sdk。若你的安装目录在其它位置,留意替换即可

  • 为什么我的构建会因为这个错误而失败? {android-sdk}/工具/ant/build.xml:479: SDK没有安装任何构建工具 它在将SDK工具更新到22之后开始出现