Меня заинтересованы в MetaProgramming (I.E. Программы, которые помогают программированию выполнять утомительные задачи программирования). Я ищу инструмент, который имеет следующие свойства:
- , используемый как при компиляции, так и во время выполнения;
- проверяет структуру программы;
- может добавлять новые классы, методы или поля и сделать их видимыми для компилятора Java;
- может изменить поведение методов;
- на основе Java (ну, Java является наиболее популярным языком программирования в соответствии с некоторыми рейтингами);
- Хорошая интеграция со IDES и сборки инструментов, таких как Муравей, Грейд или Мавена;
- Активно поддерживаемый проект;
- Простота в использовании и расширении;
Есть некоторые решения для этого, например:
- Отражение
- ASPECTJ
- Инструмент обработки аннотации
- Манипуляция байпуляцией (CGLIB, Javassist, Java .Lang.instrument)
- Eclipse JDT
- Проект Lombok
- Groovy, Jruby, Scala
, но, к сожалению, ни один из них не соответствует всем критериям выше. Есть ли полное решение для MetaProgramming для Java?
задан iirekm 12 September 2011 в 15:22
поделиться