我使用 liferay-sdk-6.0.6 创建一个钩子(Hook)插件,并定义一个 servlet.service.events.pre
事件处理程序:
<service>
<service-type>servlet.service.events.pre</service-type>
<service-impl>com.ggd543.liferay.ServicePreAction</service-impl>
</service>
当我将其部署到 liferay-6.0.6-ce 捆绑的 jboss 5.1.0 GA 上时,出现以下错误:
Caused by: java.lang.ClassNotFoundException: application.startup.events
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at com.liferay.portal.deploy.hot.HookHotDeployListener.doInvokeDeploy(HookHotDeployListener.java:569)
at com.liferay.portal.deploy.hot.HookHotDeployListener.invokeDeploy(HookHotDeployListener.java:218)
... 68 more
我的liferay-hook.xml
有什么问题吗?
最佳答案
是的。从 Liferay 6 开始,您不再定义像 liferay-hook.xml 中那样的事件。您必须创建属性 Hook 并在属性文件中定义您的事件。像下面这样的东西
liferay-hook.xml
<hook>
<portal-properties>portal.properties</portal-properties>
</hook>
portal.properties
servlet.service.events.pre=com.ggd543.liferay.ServicePreAction
关于java - liferay钩子(Hook)部署-事件类未找到异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11325889/