当前位置: 首页 > 面试题库 >

追溯地向方法中添加Java注释?

严朝明
2023-03-14
问题内容

有没有一种方法可以修改.class文件,以便向某些方法添加Java注释?基本上,我想遍历jar文件中每个类文件的方法并注释某些方法。请注意,使用jar文件时,这不是在运行时。相反,完成后,我想使用注释修改类文件。

我确实可以访问源代码,因此,如果有一个自动的源代码修改器,那也可以工作…

我假设我需要Javassist或ASM之类的工具。如果是这样,我应该使用哪一个,我将如何处理?


问题答案:

谷歌搜索了一个小时左右的时间,这篇文章似乎可以完全回答我的问题:使用ASM。要使用更改后的字节码编写类文件,请使用ClassWriter。

好吧,那我该上班了。:)



 类似资料:
  • 对于一个项目,我正在创建不同的层,这些层都应该被写入一个geopackage。我正在使用QGIS 3.16.1和运行在Python 3.7上的QGIS中的Python控制台 我尝试了很多事情,但不知道如何做到这一点。这是我目前使用的。 问题是,在“测试”中。“gpkg”创建的层称为“测试”,而不是“点1”或“点2”。和第二个QgsVectorFileWriter。writeAsVectorForm

  • 本文向大家介绍silverstripe 向DataObject添加方法,包括了silverstripe 向DataObject添加方法的使用技巧和注意事项,需要的朋友参考一下 示例 您可以使用扩展机制将公共方法添加到DataObject,例如: 当应用于Member该类时,以上示例将通过protected属性访问via返回ID的sha1哈希值。例如:MemberMember$this->owner

  • 我正在使用 Azure 数据工厂将源数据复制到登陆区域 (adls gen2),然后使用自动加载程序加载到青铜色增量表中。一切都很完美,除了我无法将pipeline_name,runid和trigger_time派生为镶木地板文件中的派生列以及输入源表。 架构此处是使用实际源 sql Server 表架构构建的结构类型,它不涵盖 ADF 中的其他派生列。 这是写流DF 使用 mergeSchema

  • 问题内容: 假设我有一个对象 如何通过添加方法扩展该对象,并确保将来的实例具有此方法? 问题答案: 您需要将其添加到Foo的原型中:

  • 问题内容: 如何“动态”向对象添加新方法? 问题答案: 您可以利用这一点:

  • 我有一个模型,其中有一个@列(nullable=false)注释HiberNate和所有字段有nullable=false,我想以编程方式添加一些新的注释,如@NotNull和@ApiModelProperty(必需=true)-用于招摇过市。 所以,我希望能够从我的应用程序的模型中解析所有字段,获得现有的注释,并在此基础上添加新的注释。这能做到吗? 更新:问题是每次添加一个新字段,如果它不能为空