Генератор кода / шаблонов для Java - PullRequest
5 голосов
/ 16 октября 2008

Для C # я часто использовал CodeSmith и в последнее время генератор T4 , который является частью Visual Studio.

Я ищу что-то похожее для Java, в частности, надстройку Eclipse, поскольку все свои разработки на Java выполняются с использованием Eclipse IDE.

Ответы [ 10 ]

6 голосов
/ 27 декабря 2008

Я работал с Velocity и StringTemplate . Скорость немного более обычна (вспомним концепции JSP / ASP), в то время как StringTemplate кажется немного чище. в смысле, описанном в этом интервью Artima . Оба являются чистыми шаблонизаторами и потребуют от вас написания некоторого кода вокруг них, если вы хотите выполнить полномасштабную генерацию кода из модели.

StringTemplate используется внутри ANTLR , что может быть полезно для ваших усилий.

В качестве альтернативного подхода вы можете использовать Eclipse , используя EMF и JET .

6 голосов
/ 17 октября 2008

Я обнаружил, что freemarker довольно неплохо работает для генерации любого типа кода. С сайта:

FreeMarker - это «движок шаблонов»; универсальный инструмент для генерации текстового вывода (от HTML до автоматически сгенерированного исходного кода) на основе шаблонов. Это пакет Java, библиотека классов для программистов на Java. Это не приложение для конечных пользователей само по себе, а то, что программисты могут встроить в свои продукты.

Очень часто используется Struts2. На сайте есть длинный список других продуктов, которые используют freemarker.

2 голосов
/ 08 июня 2015

Вам следует попробовать Telosys Tools, плагин Eclipse для генерации кода, работающий из существующей базы данных с настраиваемыми шаблонами Velocity

См .: http://www.telosys.org/

Торговая площадка Eclipse: http://marketplace.eclipse.org/content/telosys-tools

Уроки здесь: https://sites.google.com/site/telosystutorial/

См. Этот другой вопрос о CodeSmith: Существует ли какой-либо бесплатный инструмент, подобный Codesmith?

1 голос
/ 14 ноября 2012

Мой ответ - использовать StringTemplate, но здесь есть нечто большее, чем просто какой инструмент использовать.

Это проблема для генерации Java-кода? Или это использовать инструменты Java? Программистам обычно очень удобно писать код. Следовательно, не было бы прыжка, чтобы написать некоторые классы Java и написать обзор, который бы генерировал код, используя StringTemplate. Я лично считаю, что это хорошее упражнение - создавать примеры моделей, генерировать код Java из моделей. И в зависимости от вашего варианта использования вы можете в конечном итоге написать модели JSON вручную, и вам никогда не придется писать какой-либо код Java для создания кода Java. Или вы можете написать классы Java, которые производят эквивалентные модели.

Вы можете использовать STST на основе StringTemplate, который читает JSON. STST основан на командной строке, и я уверен, что вы можете подключить его к eclipse и / или Visual Studio.

Я лично думаю о переносимости, JSON - чрезвычайно простой язык. И почти на каждом языке есть библиотеки, которые его поддерживают.

1 голос
/ 01 сентября 2012

Это старый вопрос, но единственное, что подходит (для Java), чтобы сделать то, что делает CodeSmith Generator, это Spring Roo .

Причина в том, что в Java нет частичных классов, как в C #. Spring Roo справляется с этим, используя AspectJ ITDs .

0 голосов
/ 13 марта 2014

Я написал простое веб-приложение для моего использования. его можно получить по https://github.com/harish2704/templates демоверсия доступна по адресу http://templates -harish2704.rhcloud.com / Это независимый от языка инструмент. GUI поддерживает несколько языков (выделение, завершение фрагмента и т. Д.)

0 голосов
/ 23 марта 2013

Посмотрите на мой проект https://github.com/karajdaar/templator и посмотрите, поможет ли это.

0 голосов
/ 12 октября 2010

Вы можете посмотреть на мой плагин: http://fast -code.sourceforge.net / . Это позволяет выбирать несколько полей и генерировать код, используя заданные пользователем шаблоны скорости.

0 голосов
/ 15 мая 2009

eclipse имеет встроенную систему шаблонов.

посмотрите в окно -> настройки -> java -> стиль кода -> шаблоны кода

0 голосов
/ 17 октября 2008

Я не человек C #, поэтому я не знаю, каковы будут эквиваленты, однако я нашел xdoclet очень хорошим в прошлом. Я не думаю, что он интегрируется с Eclipse как таковым, но вы можете запустить его из скрипта Ant. Делает такие вещи, как генерация файлов отображения Hibernate из аннотированных классов Java. Полезно, если это то, что вы ищете:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...