<dependency>
<groupId>com.fasterxml</groupId>
<artifactId>classmate</artifactId>
<version>1.5.1</version>
</dependency>
import com.fasterxml.classmate.ResolvedType;
import com.fasterxml.classmate.TypeResolver;
import com.fasterxml.classmate.members.ResolvedMethod;
public class LibraryExtension {
public static void main(String[] args) {
TypeResolver typeResolver = new TypeResolver();
ResolvedType resolvedType = typeResolver.resolve(OriginalClass.class);
List<ResolvedMethod> originalMethods = resolvedType.getMemberMethods();
ResolvedMethod newMethod = new ResolvedMethod.Builder(resolvedType, "newMethod")
.withReturnType(Void.TYPE)
.build();
originalMethods.add(newMethod);
for (ResolvedMethod method : originalMethods) {
System.out.println(method.getName());
}
}
public static class OriginalClass {
public void originalMethod() {
}
}
}