2012-03-20 49 views
0

我有這個應用程序,我寫了一個普通的servlet。它使用焊接CDI。在一個普通的JBoss 7.0.2上部署它時,一切正常。使用焊接與Liferay 6.1 CE/Jboss

我已經將應用程序轉換爲Portlet 2.0。我試圖將portlet部署到JBoss上運行的Liferay 6.1 CE,但我得到下面的異常

14:16:20,587 INFO [stdout] (http--127.0.0.1-8080-86) 14:16:20,583 ERROR [PortletServlet:97] javax.portlet.PortletException: java.lang.RuntimeException: javax.naming.NameNotFoundException: BeanManager -- service jboss.naming.context.java.module.ROOT.ROOT.BeanManager 

當我打電話

return (BeanManager) new InitialContext() 
       .lookup("java:comp/BeanManager"); 

任何想法可能會導致這種情況發生此異常?

回答

0

升級到AS7的新版本時,它包含修復了門戶環境中Weld使用情況的問題。

+0

不幸的是,我無法控制生產服務器的部署環境。 – 2012-03-21 05:14:37

+0

如果您可以將焊接罐更新爲適用於您的新版本,否則會卡住。 – LightGuard 2012-03-21 14:53:16

+0

我現在已經嘗試了兩種方法。我無法在JBoss 7.1上部署Liferay - 出現了一些我無法解決的錯誤。然後我嘗試通過這樣做升級焊接到1.1.5.AS71.Final(git標籤):來自https://github.com/weld/core - 「mvn clean install -Pupdate-jboss-as」更新AS7 ; 查看jboss-as/jboss-as-7/build.properties for jboss.home道具 這更新了焊接jar文件,但我仍然遇到與原始文章中所述完全相同的問題。 – 2012-03-22 12:23:25