TravaOpenJDK11 — HotSwapAgent — установка DCEVM не найдена

Я пытаюсь использовать плагин HotSwapAgent в IntelliJ. Итак, я установил в качестве «пути агента» путь hotswap-agent.jar (найденный в папке Trava Open JDK), который я скачал с здесь . Но как видите здесь, я получаю следующую ошибку:

Не найдена установка DCEVM для JDK, указанного для текущего проекта. Вы должны скачать и установить его.

Однако ссылка для скачивания перенаправляет сюда, где есть установщики только до версии 8 (что мне кажется разумным, поскольку Trava Open JDK 11, который я пытаюсь использовать, уже пропатчен и включает в себя собственный агент.

Итак, что мне здесь не хватает?

Какую версию IDE вы используете?

CrazyCoder 16.12.2022 21:19

@CrazyCoder большое спасибо за ответ. Я использую версию 2022.3.

Kevin Olsen 16.12.2022 21:46
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
2
109
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Что ж, упомянутая вами версия не требует использования плагина HotSwapAgent или любого другого плагина.

Что вам нужно сделать, так это определить папку dcevm-11.0.15+1 как JDK и указать следующий аргумент в параметрах виртуальной машины конфигурации отладки вашего проекта в IntelliJ:

-XX:HotswapAgent=fatjar

или

-XX:HotswapAgent=core

В режиме Fatjar все плагины будут доступны. В основном режиме будут доступны только основные плагины JVM.

Большое спасибо за ответ. Я использовал опцию vm, и это сработало! Но теперь я получаю эту ошибку: АГЕНТ ГОРЯЧЕЙ ЗАМЕНЫ: 22:28:08.750 ОШИБКА (org.hotswap.agent.annotation.handler.PluginClassFileTransfo‌​rmer) — InvocationTargetException в методе преобразования в классе плагина org.hotswap.agent.plugin.log4j2. Класс Log4j2Plugin 'org/apache/logging/log4j/core/LoggerContext'.

Kevin Olsen 16.12.2022 21:47

Трудно догадаться, почему агенту HotSwap не нравится ваш плагин Log4j (в чат вошла CVE-2021-44228), не имея доступа к вашему проекту и конфигурации. Однако его легко отключить, используя следующий аргумент: -XX:HotswapAgent=external -javaagent:"<dcevm-path>\lib\hotswap\hotswap-agent.jar=disab‌​lePlugin=Log4j2".

Andreas Violaris 17.12.2022 01:50

Ха-ха, еще раз спасибо. Это сработало!!!

Kevin Olsen 17.12.2022 14:51

Другие вопросы по теме