Как использовать Инструментарий для замены файла исходного кода? - PullRequest
0 голосов
/ 06 мая 2019

Я пытаюсь заменить класс во время выполнения, используя Instrumentation.redefineClasses. (не спрашивай почему) У меня есть два вопроса:

  • Как получить копию класса Instrumentation в моем методе main? В документации говорится о agent - jar, чего я не понимаю.

  • Для чего нужен параметр байтов в ClassDefinition? Вы пытаетесь заменить класс преобразованным в массив байтов или чем-то еще? Поэтому, если я хочу заменить класс Foo.java следующим текстом:

    public class Foo {
      public int Bar(){
        return 0;
      } 
    }
    

    Какой будет правильный массив байтов для вставки new ClassDefinition(Foo.class, bytes here)?

...