Ошибки запуска Coldfusion 9 под Liferay 5.2 для обслуживания портлетов

Итак, все началось с попытки заставить портлеты Coldfusion9 работать под 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.

Установка cfusion прошла успешно, я создал файл WAR и кинул его в каталог «горячего деполирования» Liferay, он был скопирован и безошибочно интегрирован в установку 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 (портлет появился! Ура!). Однако отображалось только название портлета, тело было сообщением об ошибке: The requested resource (/cfusion/ColdFusionPortlet/invoke) is not available

Теперь я не могу найти решение для этого... Я погуглил и просмотрел довольно много документов, и ни в одном из них не упоминается этот тип ошибки. Конечно, сообщество Liferay.com ведет себя тихо, на форумах нет разговоров о холодном сплаве. Поэтому я решил, что проверю всех в SO.

Кто-нибудь? Мысли?


person Jakub    schedule 16.11.2009    source источник


Ответы (1)


Поскольку у меня было 0 отзывов по моему вопросу, я решил сам обновить его в соответствии с тем, что я нашел.

Если вам нужно запустить эту установку, получите версию Liferay для JBOSS/TOMCAT, поскольку Coldfusion 9 предназначался для работы под JBOSS (таким образом обслуживайте портлеты).

Я также разместил этот вопрос на Liferay.com, вот ссылка на него, у меня был один пользователь, обновивший меня, который помог мне решить проблему с портлетом, и использование JBOSS дало мне последний шаг на пути.

Ссылка на сайт Liferay.com:

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

Загрузка пакета Liferay.com JBOSS:

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

Надеюсь, это поможет кому-то в будущем, если они решат пойти по маршруту Coldfusion 9 + Liferay. Наслаждаться!

person Jakub    schedule 17.12.2009