如何清理Liferay Service Builder的旧工件?

时间:2016-02-05 08:46:54

标签: liferay code-generation code-cleanup liferay-service-builder

基于service.xml,Liferay的Service Builder生成Java文件,目录,其他文件和数据库表。它还从这一代之后编写的代码中提取接口。

当我重命名方法或删除类时,Liferay不会清理任何东西,方法/类/表就在那里。

如何从portlet项目中清除这些旧工件,效果与从头再次重新编写它的效果相同?

1 个答案:

答案 0 :(得分:1)

警告:首先进行备份。

清理文件系统

  • 退出任何IDE,如Liferay IDE,Liferay Studio,Eclipse。

  • 运行ant clean以清除生成的工件,这样您就可以确保在执行以下其他步骤后,您的代码仍然存在。

暂时将您的实施文件从docroot/WEB-INF/src/yournamespace/service/impl移开,例如将其移至您的主文件夹。

从portlet项目中删除以下文件夹(及其所有子文件夹):

  • docroot/WEB-INF/service
  • docroot/WEB-INF/sql
  • docroot/WEB-INF/src/yournamespace(再次确保您已将实施文件移至安全的地方)

清理数据库

  1. 打开您的service.xml
  2. 记下<namespace>标记的内容,例如MyNamespace
  3. 在Liferay数据库中,删除所有以该命名空间开头的表加上下划线,例如MyNamespace_
  4. 重新产生

    • 运行服务构建器
    • 将您的实施文件移回docroot/WEB-INF/src/yournamespace/service/impl
    • 再次运行Service Builder

    随意添加您的提示和更多内容以便清理!