Код в моем вопросе: Injecting code in an existing method using BCEL используется для редактирования статического массива. Однако я изменил его, чтобы изменить локальную переменную. Код для редактирования статической переменной было что-то вроде этого:
InstructionList il = new InstructionList();
InstructionFactory f = new InstructionFactory(constantPoolGen);
il.append(f.createGetStatic("MyClassName","MyVariableName",Type.INT));
il.append(new PUSH(contantPoolGen, 2));
il.append(new ISTORE());
InstructionList я получил впрыскивается в методе, поэтому я не уверен, если это работает для вас ..
Посмотрите атрибут ConstantValue – Antimony