현재 java.lang.reflect.Method 객체의 주석을 변경해야합니다. 원본 객체의 복제본은 원본 메소드를 수정하지 않아야합니다. 그렇게하기 위해 나는 Library Javassist를 다운로드했다. 그래서, 기본적으로, 최적의 코드가 될 것이다 이렇게하려면 다음Javassist : CtMethod를 java.lang.reflect.Method로 변환하십시오.
java.lang.reflect.Method myMethod = /*obtain it*/;
java.lang.reflect.Method myMethodClone = myMethod.clone();
myMethodClone.removeAllAnnotations();
myMethodClone.addAnnotation("@MyAnnotation(something=\"something\", etc");
그러나이 의사 코드와 유사한 코드가 불행하게도 불가능입니다. 내 문제를 해결하기 위해 javassist를 사용하려고했지만 또 다른 문제가 발생했습니다. Javassists CtMethod Object를 메서드 개체로 변환 할 수 없습니다. 원래 메서드가있는 클래스를 변경하지 않아도됩니다.
누구나 해결 방법이 있습니까?
이 답변 주셔서 감사합니다! 나는 이미 내 문제를 해결하고 해결책을 여기에 게시하는 것을 잊어 버렸습니다 ... 정말 죄송합니다. 지금 당장 할 것입니다. – Fly
다른 사람들을 위해 해결책을 게시하고 동의하십시오! –
지금 당장 했나요? 정말 늦어서 미안 해요. – Fly