0

На основе service.xml Liferay's Service Builder создает файлы Java, каталоги, другие файлы и таблицы базы данных. Он также извлекает интерфейсы из кода, написанного после этого поколения.Как очистить старые артефакты Liferay Service Builder?

Когда я переименовываю метод или удаляю класс, Liferay ничего не очищает, методы/классы/таблицы просто остаются там.

Как очистить эти старые артефакты от проекта портлета, с тем же эффектом, как если бы я снова переписал его с нуля?

ответ

1

Предупреждение: сначала создайте резервные копии.

Чистая файловая система

  • Выход любой IDE, как Liferay IDE, Liferay Studio, Eclipse.

  • запустить ant clean, чтобы очистить созданные артефакты, чтобы вы могли убедиться, что остался только ваш код после выполнения следующих шагов ниже.

Временно переместить файлы реализации от docroot/WEB-INF/src/yournamespace/service/impl из пути, например, переместить его в вашу домашнюю папку.

Удалите следующие папки (и все их вложенные папки) из вашего портлета проекта:

  • docroot/WEB-INF/service
  • docroot/WEB-INF/sql
  • docroot/WEB-INF/src/yournamespace (убедитесь еще раз, что вы переместили файлы реализации к безопасное место)

Очистить базу данных

  1. Откройте service.xml
  2. принять к сведению содержание <namespace> тега, например MyNamespace
  3. В вашей базе Liferay, удалить все таблицы, которые начинаются с этого пространства имен плюс подчеркиванием, например MyNamespace_.

перегенерировать

  • Запустите Service Builder
  • Переместить ваша реализация файлы обратно docroot/WEB-INF/src/yournamespace/service/impl
  • Запустите Service Builder снова

Вы можете добавить свои советы и многое другое!

Смежные вопросы