D. *_*lai 10 java android batch-file
我在尝试运行时出错 sdkmanager
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(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 5 more
Run Code Online (Sandbox Code Playgroud)
当我尝试更改为 Java 7、8 和 10 时,我该如何解决这个问题,但都没有奏效。
小智 7
我遇到了这个问题,因为 java 的默认安装是 v11
java -version
应该 : openjdk version "1.8.0_252"
修复:
sudo apt-get install openjdk-8-jdk
不用担心不会覆盖
然后通过切换到正确的版本
sudo update-alternatives --config java
确认正确的输出 java -version
比sdkmanager再次运行。
你可以试试这个解决方案
首先sdkmanager.bat用任何文本编辑器打开
然后找到这一行
%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %SDKMANAGER_OPTS%
Run Code Online (Sandbox Code Playgroud)
并将其更改为这一行
%JAVA_EXE%" %DEFAULT_JVM_OPTS% --add-modules java.xml.bind %JAVA_OPTS% %SDKMANAGER_OPTS%
Run Code Online (Sandbox Code Playgroud)
我希望这能解决你的问题。
| 归档时间: |
|
| 查看次数: |
16673 次 |
| 最近记录: |