Java 字节码操作库建议

2022-09-04 21:32:14

我正在寻找一个维护良好的Java字节码操作库,具有直观的API。似乎有很多这样的人。关于尝试哪些建议的任何建议?


答案 1

您的问题的最佳答案将取决于您的特定需求和目标;如果你能扩展你想要完成的事情,我也许可以提供一个更有针对性的回应。

然而,根据我的经验,ASM提供了成熟度,灵活性和易用性的最佳组合:

  • 它正在相对活跃的开发中:尽管最新版本是从2009年6月开始的,但开发人员会定期向他们的VCS提交承诺。
  • 它已经在许多著名的Java产品中被广泛使用,比如AspectJ,Groovy,Cobertura和许多其他产品,这些产品承诺拥有广泛的用户群,从而提供广泛的支持社区。
  • 它记录了相当全面的文档,并且有许多教程,用户指南和参考文档可用于OW2联盟和整个社区。

注意:贝下面留下的评论@Yuri描述了我个人尚未遇到的情况,但这可能会造成重大障碍。在评估各种字节码操作库时,请记住他的观察/经验。


答案 2

这实际上取决于你如何定义直观;-)两周前,我开始使用ASM来完成当前项目的某个任务,它就像一个魅力。我只花了几个小时来理解它并能够使用它,但我不会完全调用API直观。但是如果你对Java字节码有一点了解,并且熟悉访问者模式,那么学习曲线就不是很高了,IMO。

ASM的另一个优点是,它显然至少在Sun JDK中与标准API捆绑在一起,尽管在不同的包(com.sun.xml.internal.ws.org.objectweb.asm和subpackages中)。


推荐