Я пытаюсь использовать плагин HotSwapAgent в IntelliJ. Итак, я установил в качестве «пути агента» путь hotswap-agent.jar (найденный в папке Trava Open JDK), который я скачал с здесь . Но как видите здесь, я получаю следующую ошибку:
Не найдена установка DCEVM для JDK, указанного для текущего проекта. Вы должны скачать и установить его.
Однако ссылка для скачивания перенаправляет сюда, где есть установщики только до версии 8 (что мне кажется разумным, поскольку Trava Open JDK 11, который я пытаюсь использовать, уже пропатчен и включает в себя собственный агент.
Итак, что мне здесь не хватает?
@CrazyCoder большое спасибо за ответ. Я использую версию 2022.3.




Что ж, упомянутая вами версия не требует использования плагина 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.PluginClassFileTransformer) — InvocationTargetException в методе преобразования в классе плагина org.hotswap.agent.plugin.log4j2. Класс Log4j2Plugin 'org/apache/logging/log4j/core/LoggerContext'.
Трудно догадаться, почему агенту HotSwap не нравится ваш плагин Log4j (в чат вошла CVE-2021-44228), не имея доступа к вашему проекту и конфигурации. Однако его легко отключить, используя следующий аргумент: -XX:HotswapAgent=external -javaagent:"<dcevm-path>\lib\hotswap\hotswap-agent.jar=disablePlugin=Log4j2".
Ха-ха, еще раз спасибо. Это сработало!!!
Какую версию IDE вы используете?