私は Liferay と Salesforce に取り組んでいます。私は Liferay を初めて使用し、時間を費やしすぎた問題に直面しています。
Service Builder (「newService」という名前) を作成することにしたポートレットがあります。ここに私の service.xml があります:
<service-builder package-path="com.fr.liferay">
<namespace>SSB</namespace>
<entity local-service="true" name="Comp" remote-service="false" uuid="true">
<!--<entity name="Foo" table="foo" uuid="true" local-service="true" remote-service="false" data-source="sampleDataSource" session-factory="sampleSessionFactory" tx-manager="sampleTransactionManager">-->
<!-- PK fields -->
<column name="compId" primary="true" type="long" />
<!-- Group instance -->
<column name="groupId" type="long" />
<!-- Audit fields -->
<column name="companyId" type="long" />
<column name="userId" type="long" />
<column name="userName" type="String" />
<column name="createDate" type="Date" />
<column name="modifiedDate" type="Date" />
<!-- Other fields -->
<column name="compName" type="String" />
<column name="compDesc" type="String" />
<column name="compPath" type="String" />
<!-- Order -->
<!-- References -->
</entity>
</service-builder>
ここで、maven コマンドを実行します。アーティファクトmvn service-builder:build
が生成されました。newService-api
次のように、ポートレット内でサービスを呼び出しています。
Comp comp = CompLocalServiceUtil.createComp(3);
comp.persist();
newservice-api
ポートレットの pom.xml に依存関係を追加しました。
<dependency>
<groupId>com.fr.liferay.liferay7-
architecture.portail7.services.newService</groupId>
<artifactId>newService-api</artifactId>
<version>1.0.0</version>
<scope>provided</scope>
</dependency>
ポートレットを起動すると、次のエラーが発生します。
Caused by: java.lang.NoClassDefFoundError: com/fr/liferay/service/CompLocalServiceUtil
at com.fr.liferay.controllers.TestController.actionTwoMethod(TestController.java:151)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:180)
at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:367)
at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.doHandle(AnnotationMethodHandlerAdapter.java:354)
at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.handleAction(AnnotationMethodHandlerAdapter.java:285)
at org.springframework.web.portlet.DispatcherPortlet.doActionService(DispatcherPortlet.java:666)
... 181 more
12:55:57,243 ERROR [http-nio-8080-exec-5][render_portlet_jsp:131] null
java.lang.NoClassDefFoundError: com/fr/liferay/service/CompLocalServiceUtil
at com.fr.liferay.controllers.TestController.actionTwoMethod(TestController.java:151)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:71)
at com.liferay.portlet.CheckboxParametersPortletFilter.doFilter(CheckboxParametersPortletFilter.java:57)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:68)
at com.liferay.portlet.CheckboxParametersPortletFilter.doFilter(CheckboxParametersPortletFilter.java:57)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:68)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:105)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at com.liferay.portal.osgi.web.wab.extender.internal.adapter.ServletExceptionAdapter.service(ServletExceptionAdapter.java:68)
at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153)
at org.eclipse.equinox.http.servlet.internal.servlet.FilterChainImpl.doFilter(FilterChainImpl.java:50)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:119)
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:115)
at com.liferay.portal.osgi.web.wab.extender.internal.adapter.FilterExceptionAdapter.doFilter(FilterExceptionAdapter.java:46)
at org.eclipse.equinox.http.servlet.internal.registration.FilterRegistration.doFilter(FilterRegistration.java:121)
at org.eclipse.equinox.http.servlet.internal.servlet.FilterChainImpl.doFilter(FilterChainImpl.java:45)
at org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:70)
at org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:117)
at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:48)
これを解決する方法はありますか?