java - 在 Liferay 5.2 下运行 Coldfusion 9 以服务 portlet 时出错

标签 java tomcat coldfusion liferay portlet

所以这一切都始于尝试让 Coldfusion9 portlet 在 Liferay 下运行,就像我看到的运行 JBOSS 的示例一样: http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSC00E3E9C-DC24-4488-930D-AEED19172CC5.html

我遵循了这些步骤,但我的应用程序服务器将是 TomCat 5.5(与 Liferay 5.2.3 捆绑在一起)。

我想从 coldfusion 创建一个 portlet(只是一个 hello world 开始)。

cfusion的安装很顺利,我创建了WAR文件,然后把它扔到Liferay的'hot depoly'目录中,它被复制,并且没有错误地集成到Liferay 安装。

我按照 JBOSS 示例中的步骤,并重新启动了 Liferay 服务器(在将 .cfc 文件复制到正确位置之后。

在我启动 Liferay 之后,我在启动过程中遇到了这个错误:

21:04:33,648 INFO  [PluginPackageUtil:1153] Reloading repositories
21:06:06,510 INFO  [PortletHotDeployListener:227] Registering portlets for cfusion
javax.portlet.PortletException: javax.servlet.ServletException: ClassloaderHelper not initialized properly. Call ClassloaderHelper.init
(ServletContext) before using this class
        at coldfusion.portlet.ColdFusionPortlet.invokeCFC(ColdFusionPortlet.java:123)
        at coldfusion.portlet.ColdFusionPortlet.init(ColdFusionPortlet.java:67)
        at com.liferay.portlet.InvokerPortletImpl.init(InvokerPortletImpl.java:250)
        at com.liferay.portlet.PortletInstanceFactoryImpl.init(PortletInstanceFactoryImpl.java:245)
        at com.liferay.portlet.PortletInstanceFactoryImpl.create(PortletInstanceFactoryImpl.java:135)
        at com.liferay.portlet.PortletInstanceFactoryUtil.create(PortletInstanceFactoryUtil.java:47)
        at com.liferay.portal.deploy.hot.PortletHotDeployListener.initPortlet(PortletHotDeployListener.java:660)
        at com.liferay.portal.deploy.hot.PortletHotDeployListener.doInvokeDeploy(PortletHotDeployListener.java:250)
        at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:127)
        at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._doFireDeployEvent(HotDeployUtil.java:108)
        at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(HotDeployUtil.java:153)
        at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:43)
        at com.liferay.portal.kernel.servlet.PortletContextListener.portalInit(PortletContextListener.java:113)
        at com.liferay.portal.kernel.util.PortalInitableUtil.init(PortalInitableUtil.java:48)
        at com.liferay.portal.kernel.servlet.PortletContextListener.contextInitialized(PortletContextListener.java:109)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:927)
        at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:890)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:448)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Caused by: javax.servlet.ServletException: ClassloaderHelper not initialized properly. Call ClassloaderHelper.init(ServletContext) befo
re using this class
        at coldfusion.bootstrap.ClassloaderHelper.testInit(ClassloaderHelper.java:73)
        at coldfusion.bootstrap.ClassloaderHelper.getClassLoader(ClassloaderHelper.java:178)
        at coldfusion.portlet.ColdFusionPortlet.invokeCFC(ColdFusionPortlet.java:120)
        ... 38 more
21:06:07,135 INFO  [PortletHotDeployListener:346] 1 portlet for cfusion is available for use
11/16 21:06:07 INFO License Service: Flex 1.5 CF Edition enabled
11/16 21:06:07 INFO Starting Flex 1.5 CF Edition
11/16 21:06:08 Information [main] - C:\chicago\liferay-portal-tomcat-5.5-5.2.3\tomcat-5.5.27\temp\0-cfusion\WEB-INF\cfusion\logs\server
.log initialized
11/16 21:06:08 Information [main] - Starting logging...
11/16 21:06:08 Information [main] - Starting license...
11/16 21:06:09 Information [main] - Invalid ColdFusion 9 license.

现在,我尝试在 Liferay 上设置一个 portlet(该 portlet 出现了!耶!)。然而只有 portlet 的标题会出现,正文是一条错误消息: 请求的资源 (/cfusion/ColdFusionPortlet/invoke) 不可用

现在我似乎找不到解决这个问题的方法...... 我已经用谷歌搜索并浏览了很多文件,但没有提到这种类型的错误。当然 Liferay.com 社区很安静,那里的论坛上没有关于 coldfusion 的讨论。所以我想我会和 SO 的每个人核实一下。

有人吗?想法?

最佳答案

由于我的问题收到了 0 反馈,因此我决定根据我的发现自行更新它。

如果您需要运行此设置,请获取 JBOSS/TOMCAT 版本的 Liferay,因为 Coldfusion 9 旨在在 JBOSS 下运行(以这种方式提供 portlet)。

我还在 Liferay.com 上发布了这个问题,这里是它的链接引用,我有一个用户更新我,这帮助我解决了 portlet 问题,使用 JBOSS 让我完成了最后一步。

Liferay.com 引用:

http://www.liferay.com/web/guest/community/forums/-/message_boards/message/4369312#_19_message_4287472

Liferay.com JBOSS bundle 下载:

http://www.liferay.com/web/guest/downloads/portal

希望这对将来决定采用 Coldfusion 9 + Liferay 路线的人有所帮助。享受吧!

关于java - 在 Liferay 5.2 下运行 Coldfusion 9 以服务 portlet 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1744998/

相关文章:

java - 接口(interface)相同,实现不同

java - StudentBean 类型中的方法 setStdGPA(Float) 不适用于参数 (String)

java - Eclipse环境与部署到tomcat webapps文件夹下文件上传速度差异

java - Java EE 中基于文件的安全数据持久化

java - 使 ListView 可滚动

java - Android中如何替换特殊字符?

java - Tomcat7/JBoss 2 NullPointerException 与 MySQL- 数据库

coldfusion - ColdFusion 中的鸭式输入

coldfusion - Application.cfc 与 Application.cfm 以及扩展 Application.cfc 的需要

coldfusion - 无法再访问 CFADMIN