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