У меня есть почти идентичный код для API создания / обновления / удаления, который я пытаюсь заменить моделью шаблона.
Поэтому я определил код контроллера в текстовом шаблоне, а затем при запуске приложения пытаюсьскопировать шаблон в каталог моего проекта и заменить переменные действительными значениями, чтобы сгенерировать API с соответствующими именами классов.
Затем, когда мне нужно внести изменения, я могу изменить свой шаблон, а не каждый API, чтобы уменьшить общее обслуживание кода.Функциональность копирования работает, но это происходит после генерации файлов .class.То есть код, который фактически использует мое приложение, всегда на одну версию позади текущей версии.
Чтобы запустить правильную версию, мне нужно еще раз перезапустить приложение, не меняя шаблонов.Таким образом, текущая версия и предыдущая версия будут идентичны и, похоже, будут работать правильно.
Однако это не очень удобно с точки зрения производства.Я попытался использовать javax.tools. * Для компиляции кода, но, поскольку я использую много зависимостей внутри своего приложения, он терпит неудачу, если я не могу скомпилировать свой проект вместе (включая файлы, которые должны быть сгенерированы).
src\main\java\com\project\dao\model\User.java:3: error: package com.vividsolutions.jts.geom does not exist
import com.vividsolutions.jts.geom.Point;
^
src\main\java\com\project\dao\model\User.java:5: error: package javax.persistence does not exist
import javax.persistence.*;
Можно ли:
Создать файлы до создания файлов .class, чтобы проект можно было скомпилировать вместе.Это произошло, если в шаблоне есть ошибки или были указаны неверные переменные, будет сгенерирована ошибка компиляции.
Автоматизируйте перезапуск приложения, прежде чем он станет полностью доступным.Таким образом, код будет запускаться и генерировать файлы из шаблона (ов).Тогда он отключится.Затем он автоматически перезапустится и распознает вновь созданные файлы, чтобы проект можно было скомпилировать вместе.