【问题标题】:Error : Unrecognized VM option 'AggressiveOpts'错误:无法识别的 VM 选项“AggressiveOpts”
【发布时间】:2020-06-19 09:33:13
【问题描述】:

我想了解 Elasticsearch 的内部工作原理,为此,我想在 IntelliJ IDEA 中调试 Elasticsearch 源代码。

我正在关注thisthis在Intellij中安装和配置代码。

  • 我已将主 Elasticsearch 代码存储库克隆到我的本地计算机。

  • 然后,我将 Elasticsearch 导入到一个 IntelliJ IDEA 项目中。 IntelliJ IDEA 开始构建源代码,一段时间后构建完成并成功。

现在,下一步是启动 Elasticsearch 进行调试,为此我在终端中运行了以下命令

./gradlew :run

但是,然后我收到以下错误:

无法识别的 VM 选项“AggressiveOpts”错误:无法创建 Java 虚拟机。错误:发生了致命异常。程序 将退出。

我遵循了几个 SO 答案,但我无法解决此问题。

Gradle 版本为6.3,Java 版本为14

编辑 1: 当我切换到 java 版本 11 并运行命令 ./gradlew :run

我得到了错误:

FAILURE:构建失败并出现异常。

  • 出了什么问题:任务 ':generateGlobalBuildInfo' 执行失败。

    编译器 java.home 必须设置为 Java 13 的 JDK 安装目录,但 [/home/bhavya/.jenv/versions/11] 对应于 [11]

谁能帮我解决这个问题?

【问题讨论】:

    标签: elasticsearch intellij-idea


    【解决方案1】:

    您应该确定 AggressiveOpts 选项的来源 - 我在 github 上的存储库中没有找到它:https://github.com/elastic/elasticsearch

    此选项已从最近的 JDK 版本中删除 - 请参阅 https://chriswhocodes.com/hotspot_options_jdk11.html -> 您会看到它在 JDK 12 中已被弃用并随后被删除。

    也就是说,如果 Elastic Search 不支持早于 JDK 13 的任何东西,我会感到惊讶 - 如果您想使用 JDK 11 运行它,您可能应该告诉 gradle:How do I tell Gradle to use specific JDK version?

    【讨论】:

    • 感谢您的回答,但即使设置org.gradle.java.home=/home/bhavya/.jenv/versions/11JAVA_HOME 也指向相同的路径,即/home/bhavya/.jenv/versions/11,我仍然得到与编辑中提到的相同的错误1
    猜你喜欢
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    • 2020-04-29
    • 2016-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    相关资源
    最近更新 更多