虽然Liferay 6.2中的Service Builder没有问题,但是当我构建服务以生成我的第一个Finder Util类时,我在Liferay 7中遇到了阻塞问题。 当我发现这一点时,我甚至决定从头开始一个项目,问题仍然存在。 即使有官方文件,也没有任何作用。
有人有任何想法可以帮助我吗?
以下是我在Eclipse Mars中的最后一次测试的完整描述:
谢谢你的帮助。
文森特
答案 0 :(得分:2)
构建服务时,build.gradle中有一些属性,因此如果要生成Util类,必须将osgiModule设置为false。
buildService {
apiDir = "../foo-api/src/main/java"
osgiModule = false
propsUtil = "com.liferay.docs.foo.service.util.PropsUtil"
}
否则,如果你想使用osgi,你可以这样回收取景器
@Reference
private volatile FooFinder fooFinder;
或
@Reference(unbind = "-")
protected void setFooFinder(
FooFinder fooFinder) {
_fooFinder = fooFinder;
}
private FooFinder _fooFinder;
有关详细信息,请参阅liferay-docs https://plnkr.co/edit/TpBZtgNNww4CnTwQFtef?p=preview
例如github https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/finding-and-invoking-liferay-services
答案 1 :(得分:0)
来自https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/custom-sql
注意:在以前版本的Liferay Portal中,您可以通过-FinderUtil实用程序类访问查找器方法。 Finder方法现在被注入到应用程序的本地服务中,无需调用finder实用程序。
您现在应该可以直接在服务层中调用您的finder方法:fooFinder.findBy...