Ошибка: нераспознанный параметр виртуальной машины "AggressiveOpts" - PullRequest
1 голос
/ 19 июня 2020

Я хочу понять внутреннюю работу Elasticsearch, для этого я хочу отладить исходный код Elasticsearch в IntelliJ IDEA.

Я следую this и this , чтобы установить и настроить код в Intellij.

  • Я клонировал основной Репозиторий кода Elasticsearch на моем локальном компьютере.

  • Затем я импортировал Elasticsearch в проект IntelliJ IDEA. IntelliJ IDEA начинает сборку исходного кода, и через некоторое время сборка завершается и проходит успешно.

Теперь следующим шагом был запуск Elasticsearch для отладки, для этого я выполнил следующую команду в терминале

./gradlew :run

Но затем я получил следующую ошибку:

Нераспознанная опция виртуальной машины 'AggressiveOpts' Ошибка: не удалось создать виртуальную машину Java. Ошибка: возникла фатальная исключительная ситуация. Программа завершится.

Я выполнил несколько ответов SO, но не могу решить эту проблему.

Версия Gradle - 6.3 и Java версия - 14

Редактировать 1: Когда я переключился на java версию 11 и выполнил команду ./gradlew :run

, я получаю сообщение об ошибке:

ОШИБКА: сбой сборки с исключением.

  • Что пошло не так: сбой выполнения для задачи ': generateGlobalBuildInfo'.

    Компилятор java .home должен быть установлен в каталог установки JDK для Java 13, но [/home/bhavya/.jenv/versions/11] соответствует [11]

enter image description here

Может ли кто-нибудь помочь мне решить эту проблему?

1 Ответ

1 голос
/ 22 июня 2020

Вы должны определить, откуда берется опция AggressiveOpts - я не обнаружил, что в их репо на github: https://github.com/elastic/elasticsearch

Эта опция была удалена из последние версии JDK - см. https://chriswhocodes.com/hotspot_options_jdk11.html -> там вы увидите, что он устарел в JDK 12 и впоследствии был удален.

enter image description here

That's said, I'd be surprised if Elastic Search wouldn't support anything older than JDK 13 - if you want to run it with JDK 11 you should probably tell gradle so: Как мне указать Gradle использовать указать c Версия JDK?

...