【问题标题】:Using Weld with Liferay 6.1 CE / Jboss在 Liferay 6.1 CE / Jboss 中使用 Weld
【发布时间】:2012-03-20 12:21:07
【问题描述】:

我有这个应用程序,它是作为普通 servlet 编写的。它使用 Weld 进行 CDI。在普通的 JBoss 7.0.2 上部署它时,一切都按预期工作。

我现在已将应用程序转换为 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");

任何想法可能导致这种情况?

【问题讨论】:

    标签: java jboss liferay cdi jboss-weld


    【解决方案1】:

    升级到新版本的 AS7,它包含门户环境中焊接使用的修复。

    【讨论】:

    • 很遗憾,我无法控制生产服务器的部署环境。
    • 如果您可以将焊接罐更新到可能适合您的新版本,否则您将陷入困境。
    • 我现在已经尝试了这两种方法。我无法在 JBoss 7.1 上部署 Liferay - 发生了一些我无法解决的错误。然后我尝试通过这样做将 Weld 升级到 1.1.5.AS71.Final (git tag):来自github.com/weld/core 的源代码——“mvn clean install -Pupdate-jboss-as”更新了 AS7;请参阅 jboss-as/jboss-as-7/build.properties for jboss.home prop 这更新了焊接 jar 文件,但我一直遇到与原始帖子中所述完全相同的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    • 2012-06-15
    • 2014-01-31
    • 2011-07-28
    • 1970-01-01
    • 2014-06-27
    相关资源
    最近更新 更多