Java 当我在liferay中一个接一个地部署两个portlet时,第二个部署的portlet正在liferay中取消部署第一个部署的portlet

Java 当我在liferay中一个接一个地部署两个portlet时,第二个部署的portlet正在liferay中取消部署第一个部署的portlet,java,tomcat,liferay,portlet,Java,Tomcat,Liferay,Portlet,当我在tomcat server上逐个部署liferay 6.0.6中的两个portlet时,第二个部署portlet将取消部署第一个部署的portlet,反之亦然,当更改其顺序时: 堆栈跟踪: 2ERROR [HotDeployUtil:112] com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering plugins for abc-portlet 3com.liferay.portal.kern

当我在tomcat server上逐个部署liferay 6.0.6中的两个portlet时,第二个部署portlet将取消部署第一个部署的portlet,反之亦然,当更改其顺序时:

堆栈跟踪:

 2ERROR [HotDeployUtil:112] com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering plugins for abc-portlet
 3com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering plugins for abc-portlet
 4    at com.liferay.portal.kernel.deploy.hot.BaseHotDeployListener.throwHotDeployException(BaseHotDeployListener.java:45)
 5    at com.liferay.portal.deploy.hot.PluginPackageHotDeployListener.invokeDeploy(PluginPackageHotDeployListener.java:161)
 6    at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._doFireDeployEvent(HotDeployUtil.java:109)
 7    at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(HotDeployUtil.java:182)
 8    at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:38)
 9    at com.liferay.portal.kernel.servlet.PortletContextListener.doPortalInit(PortletContextListener.java:99)
10    at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:42)
11    at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:52)
12    at com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:50)
13    at com.liferay.portal.kernel.servlet.PortletContextListener.contextInitialized(PortletContextListener.java:55)
14    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135)
15    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
16    at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1244)
17    at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1342)
18    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303)
19    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
20    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
21    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
22    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
23    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
24    at java.lang.Thread.run(Thread.java:744)
25Caused by: com.liferay.portal.OldServiceComponentException: Build namespace abc has build number 20 which is newer than 4
26    at com.liferay.portal.service.impl.ServiceComponentLocalServiceImpl.initServiceComponent(ServiceComponentLocalServiceImpl.java:128)
27    at sun.reflect.GeneratedMethodAccessor689.invoke(Unknown Source)
28    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
29    at java.lang.reflect.Method.invoke(Method.java:606)
30    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
31    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
    at com.liferay.portal.dao.jdbc.aop.DynamicDataSourceTransactionInterceptor.invoke(DynamicDataSourceTransactionInterceptor.java:44)
    at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
    at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
    at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:58)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    at com.sun.proxy.$Proxy74.initServiceComponent(Unknown Source)
    at com.liferay.portal.service.ServiceComponentLocalServiceUtil.initServiceComponent(ServiceComponentLocalServiceUtil.java:243)
    at com.liferay.portal.deploy.hot.PluginPackageHotDeployListener.initServiceComponent(PluginPackageHotDeployListener.java:306)
    at com.liferay.portal.deploy.hot.PluginPackageHotDeployListener.doInvokeDeploy(PluginPackageHotDeployListener.java:217)
    at com.liferay.portal.deploy.hot.PluginPackageHotDeployListener.invokeDeploy(PluginPackageHotDeployListener.java:158)
    ... 19 more
09:02:30,390 INFO  [HookHotDeployListener:394] Registering hook for abc-portlet
09:02:34,913 INFO  [HookHotDeployListener:649] Hook for abc-portlet is available for use
有解决方案吗?

查看堆栈跟踪

Caused by: com.liferay.portal.OldServiceComponentException: Build namespace abc has build number 20 which is newer than 4
似乎您需要更新版本号

更改特定portlet的
service.properties
或更新
release\uu
表中的内部版本号

你可以参考下面的链接

查看堆栈跟踪

Caused by: com.liferay.portal.OldServiceComponentException: Build namespace abc has build number 20 which is newer than 4
似乎您需要更新版本号

更改特定portlet的
service.properties
或更新
release\uu
表中的内部版本号

你可以参考下面的链接


经过大量挖掘,我找到了解决方案并解决了问题,您可以通过以下步骤解决此问题:

  • 在部署任何portlet之前,需要通过以下命令从servicecomponent表中删除lportal数据库中预部署portlet的条目:例如:delete from servicecomponent,其中buildNamespace='abc'

  • 现在重新部署您的portlet将不会引发异常:由以下原因引起:com.liferay.portal.OldServiceComponentException:Build namespace abc的内部版本号为20,比4新


  • 经过大量挖掘,我已经找到了解决方案,并解决了问题,您可以通过以下步骤解决此问题:

  • 在部署任何portlet之前,需要通过以下命令从servicecomponent表中删除lportal数据库中预部署portlet的条目:例如:delete from servicecomponent,其中buildNamespace='abc'

  • 现在重新部署您的portlet将不会引发异常:由以下原因引起:com.liferay.portal.OldServiceComponentException:Build namespace abc的内部版本号为20,比4新


  • 原因:com.liferay.portal.OldServiceComponentException:生成命名空间yourProject的生成号为x,比y新

    解决方案: 转到service.properties
    更改build.number=x

    的原因是:com.liferay.portal.OldServiceComponentException:生成命名空间您的项目具有比y新的生成号x

    解决方案: 转到service.properties
    更改build.number=x

    按照说明操作后,问题没有得到解决。只有console中的错误被删除,但它仍在取消部署以前部署的portlet。请检查它们是否共享相同的命名空间,或者在按照说明操作后,问题没有得到解决。只有控制台中的错误被删除,但它仍在取消部署以前部署的portlet。您能检查它们是否共享相同的命名空间吗