将WAR文件部署到Liferay时未创建SQL表

前端之家收集整理的这篇文章主要介绍了将WAR文件部署到Liferay时未创建SQL表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我为Liferay创建了一个JSR-268 portlet,它使用服务与数据库进行交互.我可以没有问题或错误部署portlet,但是没有创建服务定义的表!

我测试portlet时没有收到“table not found”错误.我完全没有错误!该表不在数据库中.我在网上发现其他东西说我应该使用Liferay Service Builder创建的生成的“create.sql文件,但我没有在任何地方看到该文件.

有人可以帮我吗?

解决方法

表格从未创建过吗?我手动删除表时遇到了类似的问题.我认为在再次部署portlet时会再次创建它们,但它没有发生.

在研究了源代码之后,我发现Liferay在表serviceDBonent中存储有关portlet的信息,并在它执行Meta-INF / tables.sql中的(伪)sql之前检查两件事:

> service.properties中的build.number必须高于存储在servicecomponent中的build.number,
> tables.sql必须与servicecomponent中存储的不同.

只有这样才能执行tables.sql.

实现这一目标的一种简单方法删除处理portlet的servicecomponent中的所有条目.

猜你在找的MsSQL相关文章