Я пытаюсь найти способ манипулировать байт-кодом класса (во время выполнения) непосредственно перед его загрузкой.Мне нужно сделать это, потому что манипулирование зависит от того, чего нет до main
(и, возможно, до загрузки предметного класса).
Я уже смотрел на java-агенты.Метод premain
здесь явно не применим, потому что он выполняется до main
, что означает, что он не может зависеть от того, что установлено в main
.Другой вариант: agentmain
и - загрузка агента вручную во время выполнения .Теперь проблема в том, что в более новых версиях (9+) зависимости, необходимые для этого (tools.jar), похоже, больше не присутствуют.
Теперь я хотел бы знатьЧто было бы лучшим способом манипулировать байт-кодом в определенный момент времени выполнения или непосредственно перед загрузкой класса, и если это все еще возможно как-то с Java 9+.