【问题标题】:"Could not find or load main class java.se.ee" while running sdkmanager --licences运行 sdkmanager --licences 时“找不到或加载主类 java.se.ee”
【发布时间】:2019-06-14 16:54:25
【问题描述】:

在 android studio 上构建我的项目时,它要求我接受许可协议并使用 Android Studio SDK Manager 完成缺失组件的安装。

当我运行“./sdkmanager --licenses”时,出现“无法找到或加载主类 java.se.ee”错误。

我在 stackoverflow 上发现了很多类似的问题,但提供的解决方案都不适合我。

我已经尝试过: 1- 降级到 java 8

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

3- 更改 sdkmanager 文件,添加:DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

【问题讨论】:

  • 您好,这个问题解决了吗?
  • 这个问题还在出现...你解决了吗?

标签: android android-studio sdk


【解决方案1】:

我遇到了同样的问题。
并通过以下步骤解决:

1) 安装 java 8

2) 在终端运行命令

取消设置 JAVA_OPTS

3) 然后在终端运行命令

./sdkmanager --licenses

【讨论】:

  • 运行未设置的第二个点 JAVA_OPTS 就可以了。谢谢。
  • 如何取消设置 JAVA_OPTS
  • 这很好用。关键是 ./sdkmanager --licenses 谢谢!
【解决方案2】:

嗯,你问这个问题已经 4 个月了。您一定已经找到了答案,但对于仍在寻找它的其他人来说,这是一种简单的解决方案:

JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions'

而且,瞧,问题解决了!

为什么这能解决问题?

好吧,我不知道确切的原因,但我也不知道为什么我们倾向于通过"--add-modules java.se.ee" 添加 java.se.ee,我尝试将其删除,但错误消失了!可能是因为java11去掉了EE模块,在java10中贬值了。

这只是一个盲拍!,如果有人知道正确的原因,请评论!

【讨论】:

  • 我赞成你的回答,因为它很有帮助!但是你能解释一下为什么会发生这个错误以及你的解决方案是做什么的吗?这真的很有帮助。
【解决方案3】:

取消设置 JAVA_OPTS 对我有用。


 1. unset JAVA_OPTS
 2. sdkmanager --list
 3. sdkmanager "platform-tools" "platforms;android-28"

【讨论】:

  • unset 在我的情况下未被识别为内部或外部命令
  • zsh:找不到命令:sdkmanager - 终端无法找到此命令
【解决方案4】:

以下步骤帮助我克服了 Java 错误。

JDK版本:

sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      manual mode
* 2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode

Press <enter> to keep the current choice[*], or type selection number: <Choose Java 8>

程序

  1. 取消设置 JAVA_OPTS
  2. 在文件夹 ~/Android/Sdk/tools/bin$ sudo nano ./sdkmanager
  3. 将第 31 行更改为

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions'

  1. 保存文件并退出
  2. ./sdkmanager --list

    已安装的包:======================] 100% 计算更新...
    路径 |版本 |说明 |位置
    -------- | -------- | -------- | --------
    构建工具;29.0.2 | 29.0.2 | Android SDK 构建工具 29.0.2 |构建工具/29.0.2/

【讨论】:

    【解决方案5】:

    在努力从 sdk 管理器安装平台工具并出现相关错误后

    "启动层初始化时出错 java.lang.module.FindException:找不到模块 java.se.ee”

    1. 我先降级到 Java 8,然后将 Java 8 设置为默认 Java(JDK) How to set or change default Java(JDK):

    2. 我尝试再次安装平台工具。

      sdkmanager "platform-tools" "platforms;android-28"

    但后来我得到了上面提到的错误。 “错误:无法找到或加载主类 java.se.ee”

    我的搜索把我带到了这里

    unset JAVA_OPTS
    sdkmanager "platform-tools" "platforms;android-28"
    

    这是与我能找到的解决方案最密切相关的问题,它帮助我安装了平台工具。

    【讨论】:

      猜你喜欢
      • 2019-02-21
      • 1970-01-01
      • 2020-06-28
      • 2015-09-30
      • 1970-01-01
      • 2021-02-11
      • 2020-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多