Workflow com.liferay.portal.kernel.deploy.hot.HotDeployException错误?

Workflow com.liferay.portal.kernel.deploy.hot.HotDeployException错误?,workflow,liferay-6,Workflow,Liferay 6,我们开发了一个自定义工作流和自定义portlet,在其中我们应用了这个流。但我们在这方面面临着NullPointerException。当我第一次运行它时,它运行得非常好。我正在使用Liferay 6.0.6和Tomcat 6.0.29 昨天我在另一台机器上尝试了相同的portlet,它工作得很好,但今天在那台机器上,我们也面临着这个问题 以下是整个错误日志:- 04:39:11,570 ERROR [HotDeployUtil:112] com.liferay.portal.kernel.de

我们开发了一个自定义工作流和自定义portlet,在其中我们应用了这个流。但我们在这方面面临着NullPointerException。当我第一次运行它时,它运行得非常好。我正在使用Liferay 6.0.6和Tomcat 6.0.29

昨天我在另一台机器上尝试了相同的portlet,它工作得很好,但今天在那台机器上,我们也面临着这个问题

以下是整个错误日志:-

04:39:11,570 ERROR [HotDeployUtil:112] com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering portlets for DemoCustomWorkflow-portlet
com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering portlets for DemoCustomWorkflow-portlet
at com.liferay.portal.kernel.deploy.hot.BaseHotDeployListener.throwHotDeployException(BaseHotDeployListener.java:45)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:104)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._doFireDeployEvent(HotDeployUtil.java:109)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(HotDeployUtil.java:182)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:38)
at com.liferay.portal.kernel.servlet.PortletContextListener.doPortalInit(PortletContextListener.java:99)
at com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:42)
at com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:52)
at com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:50)
at com.liferay.portal.kernel.servlet.PortletContextListener.contextInitialized(PortletContextListener.java:55)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630)
at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1244)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1342)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.`catalina`.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
at java.lang.Thread.run(Thread.java:636)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.liferay.util.portlet.PortletProps
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.liferay.portal.kernel.util.MethodHandler.invoke(MethodHandler.java:81)
at com.liferay.portal.kernel.util.MethodHandler.invoke(MethodHandler.java:75)
at com.liferay.portlet.PortletBagFactory.getPluginPropertyValue(PortletBagFactory.java:324)
at com.liferay.portlet.PortletBagFactory.newAssetRendererFactoryInstances(PortletBagFactory.java:452)
at com.liferay.portlet.PortletBagFactory.create(PortletBagFactory.java:196)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.initPortlet(PortletHotDeployListener.java:456)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.doInvokeDeploy(PortletHotDeployListener.java:253)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:101)
... 19 more
如果有人有任何想法,请帮助我

谢谢
Laxman Rana

您需要为此创建一个EXT。您需要重写名为
PortletBagFactory.java
的java文件。在该文件中,用以下代码替换
getPluginPropertyValue()
方法:

protected String getPluginPropertyValue(String propertyKey)
    throws Exception
{
    Class<?> clazz = _classLoader.loadClass(PortletProps.class.getName());
    java.lang.reflect.Method method = clazz.getMethod("get", String.class);
    return (String)method.invoke( _getMethodKey, propertyKey);
}
受保护的字符串getPluginPropertyValue(字符串属性Key)
抛出异常
{
Class clazz=_classLoader.loadClass(PortletProps.Class.getName());
java.lang.reflect.Method=clazz.getMethod(“get”,String.class);
return(String)method.invoke(_getMethodKey,propertyKey);
}

然后“直接部署”。另外,在出现此错误的项目src包中创建一个名为
portlet.properties
的空白文件。

对不起,您能更好地解释一下“\u getMethodKey”变量是什么以及如何设置它吗?非常感谢。