我有两个 Liferay portlet。
第一个管理持久性,我创建了一些实体并运行服务构建器。之后,我在 MyEntityLocalServiceImpl 中创建了几个方法并再次运行服务构建器以获取所有相关方法。
我生成了这个portlet的jar和war,在我的Liferay实例中安装了war,并将jar复制到tomcat的/lib/ext
在我的第二个 portlet 中,我调用了 MyEntityServiceUtil.myMethod(myParams),并且在执行时,它会抛出:
10:51:59,458 ERROR [http-bio-8080-exec-8][PortletServlet:116] javax.portlet.PortletException: java.lang.NoClassDefFoundError: com/liferay/portal/service/BaseService
javax.portlet.PortletException: java.lang.NoClassDefFoundError: com/liferay/portal/service/BaseService
at com.liferay.portal.kernel.portlet.LiferayPortlet.callActionMethod(LiferayPortlet.java:181)
at com.liferay.util.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:249)
at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:90)
at com.liferay.util.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:212)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:71)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:112)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
...
我可以在 tomcat 的 /lib/ext 中看到 portal-service.jar,其中包含 BaseService.class
知道为什么在执行时找不到它吗?谢谢!