На самом деле jersey-container-servlet
использует зависимость jersey-container-servlet-core
. Но если вы используете maven, это не имеет большого значения. Если вы просто определите использование jersey-container-servlet
, оно также автоматически загрузит зависимость.
Но для тех, кто добавляет файлы jar в свой проект вручную (т. Е. Без maven). Важно знать, что вы на самом деле нужны оба файла jar. Класс org.glassfish.jersey.servlet.ServletContainer
фактически является частью основной зависимости.
cglib - мощная, высокопроизводительная и качественная библиотека генерации кода
jet / speed с использованием шаблонов.
Если вы хотите создать целое приложение, ознакомьтесь с фреймворком JBoss Seam .
Обратите внимание, что эти утилиты в основном предназначены для кикстарта вашего проекта путем генерации стандартного кода.
AndroMDA (произносится: андромеда) - это среда генерации кода с открытым исходным кодом, которая следует парадигме модельно-управляемой архитектуры (MDA). Он берет модели из CASE-инструментов и генерирует полностью развертываемые приложения и другие компоненты.
Я использовал его, и он очень мощный. Он не только генерирует файлы конфигурации и код из UML, оставляя разработчику только реализацию бизнес-методов для разработки, но также поддерживает генерируемый код с использованием хорошо известных шаблонов десинга.
[ SQL2JAVA ] - отличный инструмент. Он генерирует весь код [ CRUD ] для схемы базы данных. Пул соединений недостаточно хорош, вы можете настроить его класс Manager для поддержки собственного пула.
Кроме этого, если вас интересует разработка на основе моделей ( MDD ), вы можете использовать [ AndroMDA ] или [ Borland's Together ], один из лучший инструмент на основе [ eclipse ].
Если вы хотите пойти немного дальше с генерацией кода и заняться разработкой программного обеспечения на основе моделей, вам следует взглянуть на [ openArchitectureWare ].
Другими инструментами разработки Java, поддерживающими генерацию кода, являются [ Lombok ] и [ Spoon ]. Project Lombok предлагает такие функции, как автоматическое создание методов получения и установки по умолчанию, автоматическое управление ресурсами (с использованием аннотации @Cleanup) и обработка исключений на основе аннотаций.
[ cglib ], [ Velocity template ] и [ AppFuse ] также хороши.
Я использовал Druid Database Manager: http://druid.sourceforge.net/
Он начинается с базы данных, которую можно реконструировать, и она может генерировать документацию, sql, классы и файлы на основе таблиц и полей.
Используемый язык шаблонов - это скорость.
Программное обеспечение расширяется с помощью системы надстроек.
Попробуйте Xtext ( http://www.eclipse.org/Xtext/ ). Вы используете XText для определения DSL, XText создаст Eclipse Editor, поддерживающий этот DSL. Затем вы можете использовать XPand для определения шаблонов для генерации любого текста (например, кода Java-источника).
SQL2Java генерирует код CRUD базы данных из схемы базы данных.
Еще один голос за шаблонизатор Velocity. Я использовал его в нескольких проектах, для генерации шаблонного кода EJB2.1, объектов базы данных и т.д. Работает отлично и довольно прост в освоении.
Я полагаю, что ASM - самая популярная библиотека генерации байт-кода Java.Это самая низкоуровневая библиотека байт-кода, но есть и другие библиотеки генерации кода более высокого уровня, которые построены на ASM, хотя использовать ASM напрямую тоже не так сложно (одно из преимуществ прямого использования заключается в том, что размер JAR ASM очень велик. маленький). Некоторые пользователи ASM упомянуты на http://asm.ow2.org/users.html
РЕДАКТИРОВАТЬ:
Для обновленного вопроса, в котором упоминается вариант использования («У меня есть скелет класса , и мне нужно сгенерировать его с разными динамическими частями для разных сценариев использования »), мой ответ - улучшить дизайн так, чтобы все дублирование кода было удалено и генерация кода не требовалась. Изучение различных шаблонов проектирования может дать некоторые идеи о том, как это сделать. Чтобы получить более конкретный ответ, вам нужно будет показать код и уточнить свои потребности.
AtomWeaver http://www.atomweaver.com сейчас находится в стадии публичной бета-версии. Это IDE для генерации кода, которую можно использовать вместе с вашей текущей IDE (так что это не фреймворк, а отдельное приложение). С его помощью вы можете генерировать как шаблонный код, так и полный проект.
AtomWeaver реализует ABSE (разработка программного обеспечения на основе атома), которая является формой разработки программного обеспечения на основе моделей (не имеет ничего общего с UML или MDA).
По сути, это система, основанная на шаблонах.