Java 字节码操作库建议
-
22-09-2019 - |
题
我正在寻找一个维护良好且具有直观 API 的 Java 字节码操作库。那里似乎有很多这样的人。对于尝试哪些有什么建议吗?
解决方案
您问题的最佳答案将取决于您的具体需求和目标;如果您可以扩展您想要实现的目标,我也许可以提供更有针对性的答复。
然而,根据我的经验,取而代之的是, 先进制造商 可能提供成熟度、灵活性和易用性的最佳组合:
- 它正在相对积极的开发中:尽管最新版本是 2009 年 6 月发布的,但开发人员会定期对其 VCS 做出承诺。
- 它已经在许多著名的 Java 产品中得到广泛使用,例如 AspectJ、Groovy、Cobertura 等,这保证了广泛的用户基础,从而获得广泛的支持社区。
- 它的文档相当详尽,并且有许多教程、用户指南和参考文档都可以从 OW2联盟 以及整个社区。
注意: 下面@Yuri 留下的评论描述了我个人尚未遇到的情况,但这可能会造成重大障碍。在评估各种字节码操作库时,请牢记他的观察/经验。
其他提示
这实际上取决于你如何定义的直观的;-)我开始使用 ASM 一>两个星期对我当前的项目有一定的任务前,它的工作就像一个魅力。我只花了几个小时去了解它,并能够使用它,但我不完全调用API直观。但是,如果你知道Java字节码一点点熟悉的访问者模式,学习曲线不是很高,IMO。
ASM的另一个优点是,它与至少在Sun JDK的标准API在不同的包(com.sun.xml.internal.ws.org.objectweb.asm和子包)显然捆绑,虽然
看看这篇文章:http://www.pabrantes.net/blog/space/start/2008-03-24/1
有点旧但仍然相关。
ASM 和 Javassist 是现在用得最多的。贝塞尔快要死了。
不隶属于 StackOverflow