javassist 复制带有注释的方法

标签 java annotations decompiling

这是原始方法:

  @GET
  @Produces({"application/json"})
  public Response getTermClouds(@Context SecurityContext secCtxt, @Context UriInfo ui)
  {
    return null
  }

我想复制这个方法,但添加一个新的String参数,新方法的注释与以前相同,如下所示:

  @GET
  @Produces({"application/json"})
  public Response getTermClouds(@Context SecurityContext secCtxt, @Context UriInfo ui,String newParam)
  {
    return null
  }

我使用javassist来做到这一点,我不想添加“get”注释然后添加“products”注释,因为可能还有许多其他未知的注释。如何作为常见方式执行此操作?

最佳答案

当您尝试向方法添加新参数时,Javassist 不允许向现有方法添加额外参数,而是将接收额外参数以及其他参数的新方法添加到现有方法中。同类。

可以通过 CtNewMethod.copy() 获取 CtMethod 对象的副本。

尝试this创建您以前的方法的副本。你能准确解释一下你想用注释来做什么吗?

关于javassist 复制带有注释的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43164084/

相关文章:

java - 无法访问带注释的 Spring 服务

java - Hibernate:无法检索关联的列表

objective-c - 刷新 mkannotation 属性和刷新注释

java - 我应该如何对象模型类蓝图和具体类?

java - Java 中多维数组的 ClassCastException

java - 可以通过 Java 泛型类型系统强制执行自然排序吗?

c# - 使用 dotPeek 反编译 .net 程序集给出无效语法

java - 如何在不使用第三个多模块 Maven 项目的情况下自动从命令行构建主 Maven 项目之前构建项目依赖关系?

apk - 使用 apktool 反编译 apk

ios - 我如何理解使用 Objective-C 或 Swift 编写的 iOS 应用程序?