当前位置: 首页 > 知识库问答 >
问题:

在Glass乐于部署JSF应用程序时出错

杜诚
2023-03-14

我曾经在Glassfish服务器上毫不费力地部署了JSF Primefaces应用程序。最近我升级了我的NetBeans版本。在那之后,我的大部分申请都没有出现任何问题。但是当我尝试使用其中一个进行部署时,它失败了,错误消息如下:

部署期间发生错误:加载应用程序时出现异常:java.lang.IllegalStateException:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:java.lang.RuntimeException:com.sun.faces.config.ConfigurationException:java.util.concurrent.ExecutionException:com.sun.faces.config.ConfigurationException:无法解析文档'jar:file:/opt/glassfish3/glassfish/domain/domain1/applications/[name-of-the-application]/WEB-INF/lib/javax.faces.jar!/META-INF/mojarra_ext.taglib.xml': null.有关详细信息,请参阅服务器.log。

项目似乎一切正常(清洁和构建良好),但错误不断出现。这是我正在使用的环境:

  • NetBeans 7.3.1
  • JSF 2.2(Mojarra)
  • GlassFish开源版本3.1.1(版本12)

PS:当我尝试使用NetBeans中捆绑的Glassfish 3进行部署时,出现了以下错误:

SEVERE:部署期间出错:类 com.sun.faces.application.annotation.PersistenceUnit Scanner 无法访问其超级接口 com.sun.faces.application.annotation.Scanner

谢谢

共有1个答案

姚星腾
2023-03-14

无法分析文档'jar:file:/opt/glassfish3/glassfish/domains/domain1/applications/[应用程序名称]/WEB-INF/lib/javax.faces.jar/META-INF/mojarra_ext.taglib.xml

taglib文件的路径表明您将JSF 2.2与webapp一起发布在它的< code>/WEB-INF/lib中,而不是升级GlassFish本身。由于GlassFish 3自带JSF 2.1实现,您需要指示它不要加载它,以避免版本冲突。你没有在任何地方说明你正在做那件事,所以我猜想这是你的问题的全部原因。

Glassfish本身已经附带了JSF捆绑包,默认情况下,类加载优先于web应用程序中捆绑的类加载优先级。你基本上需要告诉 Glassfish 改用捆绑的 JSF 的 webapp 来代替。

为了实现这一点,请编辑/WEB-INF/glassfish-web.xml以添加以下两行。

<class-loader delegate="false" />
<property name="useBundledJsf" value="true" />

如果该文件不存在,请创建它,您可以在此处找到示例 xml 文件。并在

然后GlassFish将禁止加载自己的捆绑JSF,并依赖于webapp捆绑JSF。

或者,如果您对Glassfish拥有完全的管理员控制权限,您也可以将JSF 2.2中的< code>javax.faces.jar文件复制到< code>/glassfish/modules目录中,从而替换旧的目录,以便将其从JSF 2.1升级到JSF 2.2,从而应用于所有webapps。

 类似资料:
  • 我有一个使用Tomcat服务器部署的JSF应用程序,它在Tomcat 7中完美运行。但是现在我需要部署非常应用程序Weblogic我将其部署到weblogic,但是在显示主页后,我尝试打开的任何链接我都会在我的应用程序中显示错误页面。 我使用JPA作为我的持久性API来连接到数据库。 Weblogic堆栈跟踪 我无法理解我是weblogic的新手请帮忙

  • 我想尝试IMIXS工作流解决方案。 我按照以下两个链接中提到的步骤进行操作。示例应用程序 - http://www.imixs.org/doc/sampleapplication.html Glassfish 部署步骤 - http://www.imixs.org/doc/deployment/glassfish.html 当我试图部署战争时,我得到了以下错误: 远程失败:部署过程中发生错误:加载

  • 当我在glassfish 4.1中部署war文件时,会出现以下异常

  • 我有一个Grails(2.5.3版)应用程序,当我通过选项:要部署的WAR文件在Tomcat中部署时,选择WAR文件,会出现以下错误。如果我尝试一个更简单的应用程序(大小、复杂度等),它运行得很好。 但是,如果在从manager运行应用程序时手动将war文件的内容复制到Tomcat路径:pathTomcat/webapps/myApplication,则效果良好。出现任何错误。 错误: Grail

  • 错误:命令错误,退出状态为1:Command://app/.heroku/python/bin/python/app/.heroku/python/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel/tmp/tmp3b4z4ntu cwd://tmp/pip-i

  • 错误如下: 完整的控制台日志如下: null 如果有任何其他论坛我可以问这个问题,请分享评论部分的链接。提前谢谢。