如何在Liferay中完全删除实体(包括JAR文件中的类)

时间:2016-09-28 05:21:17

标签: liferay liferay-service-builder

我正在使用Liferay 6.2 GA5社区版。

示例案例我在service.xml中有2个实体,让我们说实体A&乙

当我运行Service Builder时,它会在我的源代码中生成许多JAVA文件,并生成位于

中的JAR文件
".\my-app\liferay-plugins-sdk-6.2\portlets\my-app-portlet\docroot\WEB-INF\lib\my-app-service.jar"

我用7-zip打开它,我可以在包com.mycompany.myapp.model中看到包含实体A&的类。乙

然后我尝试删除service.xml中的实体A,并删除了源代码中生成的相应JAVA文件,然后再次运行Service Builder,但在my-app-service.jar内,实体A仍然是存在。

如何从JAR文件中完全删除它?因为在我的情况下,虽然我已手动删除生成的JAVA文件,但Service Builder不会将其删除。

1 个答案:

答案 0 :(得分:2)

ServiceBuilder是代码生成器,因此它只生成新代码。

如果你想摆脱曾经生成的代码,那么除了java类之外还有很多东西可以摆脱:Spring配置,Hibernate配置等也可供你使用。所有这些都必须手动删除。如果代码仍然保留在jar中,那么旧的ant clean(或者你使用的任何构建环境)都应该删除my-app-service.jar文件(否则你也可以手动删除,所以它将在下次构建过程或ServiceBuilder运行时重建)

我建议在 all 项目的文件中搜索A的出现,以查看是否仍然发现剩余部分,因为否则某些组件可能会在运行时抱怨无法找到声明的类。