Ответ 1
Лучший ответ на ваш вопрос будет определяться вашими конкретными потребностями и целями; если вы можете расширить то, что вы пытаетесь выполнить, я могу предложить более индивидуальный ответ.
Вместо этого, однако, по моему опыту, ASM предлагает, вероятно, наилучшую комбинацию зрелости, гибкости и простоты - в использовании:
- Он находится в относительно активном развитии: несмотря на то, что последняя версия выпущена с июня 2009 года, разработчики регулярно делают фиксации своих VCS.
- Он уже широко используется во многих известных Java-продуктах, таких как AspectJ, Groovy, Cobertura и многие другие, что promises широкая пользовательская база и, следовательно, широкое сообщество для поддержки.
- Это достаточно тщательно документировано, и есть ряд руководств, руководств и справочных документов, доступных как из OW2 Consortium, так и сообщества в целом.
N.B. Комментарий @Yuri, оставшийся ниже, описывает ситуацию, которую я лично еще не встречал, но которая может потенциально представлять собой значительное препятствие. Соблюдайте его наблюдение/опыт при оценке различных библиотек манипулирования байткодами.