Spring 分析/index.xhtml时出错:不支持设置属性http://xml.org/sax/properties/lexical-handler
我正在尝试使用JSF、JPA和Spring构建一个项目,但是我没有成功。我使用JBoss作为我的服务器。它没有显示错误,但显示404错误。有趣的是,当我使用Tomcat时,控制台是清晰的,但在加载页面上显示 分析/index.xhtml时出错:不支持设置属性 这是完整的堆栈跟踪Spring 分析/index.xhtml时出错:不支持设置属性http://xml.org/sax/properties/lexical-handler,spring,jsf-2,jboss,Spring,Jsf 2,Jboss,我正在尝试使用JSF、JPA和Spring构建一个项目,但是我没有成功。我使用JBoss作为我的服务器。它没有显示错误,但显示404错误。有趣的是,当我使用Tomcat时,控制台是清晰的,但在加载页面上显示 分析/index.xhtml时出错:不支持设置属性 这是完整的堆栈跟踪 javax.faces.view.facelets.FaceletException: Error Parsing /index.xhtml: not supported setting property http://
javax.faces.view.facelets.FaceletException: Error Parsing /index.xhtml: not supported setting property http://xml.org/sax/properties/lexical-handler
at com.sun.faces.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java:425)
at com.sun.faces.facelets.compiler.SAXCompiler.doMetadataCompile(SAXCompiler.java:408)
at com.sun.faces.facelets.compiler.Compiler.metadataCompile(Compiler.java:130)
at com.sun.faces.facelets.impl.DefaultFaceletFactory.createMetadataFacelet(DefaultFaceletFactory.java:327)
at com.sun.faces.facelets.impl.DefaultFaceletFactory.access$200(DefaultFaceletFactory.java:93)
at com.sun.faces.facelets.impl.DefaultFaceletFactory$2.newInstance(DefaultFaceletFactory.java:166)
at com.sun.faces.facelets.impl.DefaultFaceletFactory$2.newInstance(DefaultFaceletFactory.java:164)
at com.sun.faces.facelets.impl.DefaultFaceletCache$2.newInstance(DefaultFaceletCache.java:94)
at com.sun.faces.facelets.impl.DefaultFaceletCache$2.newInstance(DefaultFaceletCache.java:89)
at com.sun.faces.util.ExpiringConcurrentCache$1.call(ExpiringConcurrentCache.java:99)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at com.sun.faces.util.ExpiringConcurrentCache.get(ExpiringConcurrentCache.java:114)
at com.sun.faces.facelets.impl.DefaultFaceletCache.getViewMetadataFacelet(DefaultFaceletCache.java:143)
at com.sun.faces.facelets.impl.DefaultFaceletCache.getViewMetadataFacelet(DefaultFaceletCache.java:62)
at com.sun.faces.facelets.impl.DefaultFaceletFactory.getMetadataFacelet(DefaultFaceletFactory.java:260)
at com.sun.faces.facelets.impl.DefaultFaceletFactory.getMetadataFacelet(DefaultFaceletFactory.java:209)
at com.sun.faces.application.view.ViewMetadataImpl.createMetadataView(ViewMetadataImpl.java:114)
at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:233)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:116)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
web.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Jsf_Spring_Jpa</display-name>
<!-- Welcome Page -->
<welcome-file-list>
<welcome-file>index.xhtml</welcome-file>
</welcome-file-list>
<!-- JSF Servlet is defined to container -->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Mapping with servlet and url for the http requests. -->
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<!-- Spring Context Configuration' s Path definition -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value> /WEB-INF/applicationContext.xml</param-value>
</context-param>
<context-param>
<description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<!-- Project Stage Level -->
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<!-- The Bootstrap listener to start up and shut down Spring's root WebApplicationContext. It is registered to Servlet Container -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
</web-app>
Jsf_Spring_Jpa
index.xhtml
Facesservlet
javax.faces.webapp.FacesServlet
1.
Facesservlet
/面孔/*
Facesservlet
*.jsf
Facesservlet
*.面孔
Facesservlet
*.xhtml
上下文配置位置
/WEB-INF/applicationContext.xml
状态保存方法:“客户端”或“服务器”(=默认值)。参见JSF规范2.5.2
javax.faces.STATE_保存方法
客户
javax.faces.PROJECT_阶段
发展
org.springframework.web.context.ContextLoaderListener
org.springframework.web.context.request.RequestContextListener
com.sun.faces.config.ConfigureListener
这是如何导致的,我如何解决它?此错误来自
拉式解析器
,它是dom4j
的可选依赖项。您可能会无意中在类路径上获得拉式解析器,即使它对于dom4j是可选的。尝试显式排除它,并改用JDK的内置解析器(例如,com.sun.org.apache.xerces.internal.parsers.SAXParser
),默认情况下它应该这样做
这个问题已经存在6年了,所以下面的问题不可能是问题,但是:在我的Gradle项目中,从Gradle 5.4升级到Gradle 6.5,突然导致
拉解析器
位于类路径上,因为它依赖于dom4j
,尽管如前所述,dom4j
对pull解析器的依赖关系是可选的,以前没有发生过。我已经向Gradle项目报告了这一点:。此错误来自拉式解析器
,它是dom4j
的可选依赖项。您可能会无意中在类路径上获得拉式解析器,即使它对于dom4j是可选的。尝试显式排除它,并改用JDK的内置解析器(例如,com.sun.org.apache.xerces.internal.parsers.SAXParser
),默认情况下它应该这样做
这个问题已经存在6年了,所以下面的问题不可能是问题,但是:在我的Gradle项目中,从Gradle 5.4升级到Gradle 6.5,突然导致拉解析器
位于类路径上,因为它依赖于dom4j
,尽管如前所述,dom4j
对pull解析器的依赖关系是可选的,以前没有发生过。我已经向Gradle项目报告了这一点:。我通过添加以下依赖项(在Gradle语法中)来消除错误:
我通过添加以下依赖项(在Gradle语法中)来消除该错误:
@巴卢斯克:好的,我知道了。我以前不知道。嘿,尝试在weblogic 9.2上部署项目时得到ModuleException weblogic.application.ModuleException:Unmarshaller失败。它还显示com.bea.xml.XmlException:未能加载对应于e=web app的java类型@@BalusC:好的,我知道了。我以前不知道。嘿,尝试在weblogic 9.2上部署项目时得到ModuleException weblogic.application.ModuleException:Unmarshaller失败。它还显示com.bea.xml.XmlException:未能加载对应于e=web的java类型-app@This为我工作。Kotlin spring boot,这对我有用。科特林弹簧靴,InteliJ
implementation 'pull-parser:pull-parser:2.1.10'