亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Omnifaces 1.14.1修復 javax.xml.xpath.

如何使用 Omnifaces 1.14.1修復 javax.xml.xpath.

紅糖糍粑 2023-03-17 15:44:28
我們有一個運行在 WAS 8.5 上的 JSF 2.0 Web 應用程序,我們在其中使用了 Omnifaces FullAjaxExceptionHandlerFactory。剩下的應用程序中沒有使用 Omnifaces 的任何其他內容。UI 基于 Primefaces 框架。應用程序正常啟動但在某些操作(應用程序中的更改選項卡,按按鈕)時發生以下異常:000000d2 ServletWrappe E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: An exception was thrown by one of the service methods of the servlet [FacesServlet] in application [<anonymized>]. Exception created : [java.lang.UnsupportedOperationException: java.lang.RuntimeException: javax.xml.xpath.XPathFactoryConfigurationException: Provider javax.xml.xpath.XPathFactory could not be instantiated: java.util.ServiceConfigurationError: javax.xml.xpath.XPathFactory: wsjar:file:/<anonymized>/lib/Saxon-HE-9.5.1-1.jar!/META-INF/services/javax.xml.xpath.XPathFactory:2: Illegal configuration-file syntax    at org.omnifaces.config.WebXml.init(WebXml.java:186)    at org.omnifaces.config.WebXml.init(WebXml.java:162)    at org.omnifaces.config.WebXml.checkInitialized(WebXml.java:388)    at org.omnifaces.config.WebXml.findErrorPageLocation(WebXml.java:208)    at org.omnifaces.exceptionhandler.FullAjaxExceptionHandler.findErrorPageLocation(FullAjaxExceptionHandler.java:418)    at org.omnifaces.exceptionhandler.FullAjaxExceptionHandler.handleAjaxException(FullAjaxExceptionHandler.java:350)    at org.omnifaces.exceptionhandler.FullAjaxExceptionHandler.handle(FullAjaxExceptionHandler.java:322)如果我注釋掉 pom.xml 中的依賴項和 faces-config.xml 中的工廠。該應用程序工作正常。這里是 faces-config.xml 中的條目<factory>    <exception-handler-factory>org.omnifaces.exceptionhandler.FullAjaxExceptionHandlerFactory</exception-handler-factory>  </factory>有什么想法,不兼容從何而來?
查看完整描述

1 回答

?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

有什么想法,不兼容從何而來?


不兼容性來自項目中的依賴項:


<dependency>

    <groupId>net.sf.saxon</groupId>

    <artifactId>Saxon-HE</artifactId>

    <version>9.5.1-1</version>

</dependency>

Saxon-HE-9.5.1-1.jar 包含一個服務 /META-INF/services/javax.xml.xpath.XPathFactory,其中包含非法包含空格的行:


net.sf.saxon.xpath.XPathFactoryImpl

http\://java.sun.com/jaxp/xpath/dom:    net.sf.saxon.xpath.XPathFactoryImpl

http\://saxon.sf.net/jaxp/xpath/om:     net.sf.saxon.xpath.XPathFactoryImpl

這在javax.xml.xpath.ServiceLoader.parseLine方法中失?。?/p>


....

if ((ln.indexOf(' ') >= 0) || (ln.indexOf('\t') >= 0))

                fail(service, u, lc, "Illegal configuration-file syntax");

....

嘗試升級您的 Saxon-HE 版本,因為9.5.1-1 相當舊(2013 年)并且似乎與 Java 8+ 不兼容。

版本 9.5.1-5 是第一個修復此錯誤的版本


The following bugs are cleared in 9.5.1.5, issued 2014-03-25

...

1944 Illegal configuration-file syntax in META-INF/services/javax.xml.xpath.XPathFactory

1944年發行


查看完整回答
反對 回復 2023-03-17
  • 1 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號