首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OmniFaces1.6.2和

OmniFaces1.6.2和
EN

Stack Overflow用户
提问于 2013-10-17 13:26:28
回答 1查看 219关注 0票数 2

我目前正在使用PrimeFaces4.0、OmniFaces1.6.2、MyFaces 2.1.12和Google 1.8.3。

在部署应用程序时,我得到以下错误:

代码语言:javascript
复制
java.lang.NoClassDefFoundError: javax.naming.InitialContext is a restricted class. Please see the Google  App Engine developer's guide for more details.
    at com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:51)
    at org.omnifaces.util.JNDI.lookup(JNDI.java:82)
    at org.omnifaces.config.BeanManager.init(BeanManager.java:68)
    at org.omnifaces.config.BeanManager.getReference(BeanManager.java:107)
    at org.omnifaces.application.OmniApplication.createConverter(OmniApplication.java:86)
    at org.primefaces.config.ConfigContainer.initConfig(ConfigContainer.java:69)
    at org.primefaces.config.ConfigContainer.<init>(ConfigContainer.java:59)

在启动时,可以禁用Omnifaces中的CDI功能/JNDI查找吗?

我在OmniFaces1.6.0中没有这个问题。

提前谢谢你,

拉斐尔。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-18 16:33:34

这个问题已经在OmniFaces 1.6.3中解决了。当JNDI (和CDI)在运行时类路径中不可用时,解决方案是快速和静默地失败。

代码语言:javascript
复制
try {
    Class.forName("javax.enterprise.inject.spi.BeanManager"); // Is CDI present?
    Class.forName("javax.naming.InitialContext"); // Is JNDI present? (not on Google App Engine)
}
catch (Throwable ignore) {
    return; // CDI or JNDI not supported on this environment.
}

// ...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19428043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档