我将在我的 JSF 2.0 项目中使用 Saxon-B 9。但是在添加对 Saxon & Saxon-dom 的依赖后,启动时开始出现异常:
2010 年 9 月 25 日下午 6:05:45 com.google.apphosting.utils.jetty.JettyLogger 信息信息:通过 com.google.apphosting.utils.jetty.JettyLogger 登录到 JettyLogger(null) 2010 年 9 月 25 日 6:05: 45 PM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml 信息:成功处理 /home/chardex/projects/metabus/trunk/clients/export/target/articats/export_exploded/WEB-INF/appengine-web.xml Sep 25 , 2010 年 6:05:45 PM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml 信息:成功处理 /home/chardex/projects/metabus/trunk/clients/export/target/articats/export_exploded/WEB-INF/web .xml 2010 年 9 月 25 日下午 6:05:45 com.google.apphosting.utils.jetty.JettyLogger 信息信息:jetty-6.1.x 2010 年 9 月 25 日下午 6:05:46 com.sun.faces.config.ConfigureListener上下文初始化信息:为上下文“初始化 Mojarra 2.0.0 (RC2 b22)”2010 年 9 月 25 日下午 6:05:48 com.sun.faces.config.ConfigManager 初始化信息:未清理的堆栈跟踪来自失败的启动... > com.sun.faces.config.ConfigurationException: java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: net.sf.saxon.dom.NodeWrapper$ChildEnumeration.isAtomizing()Z 在 com.sun.faces.config.ConfigManager.getConfigDocuments(ConfigManager.java:670) 在 com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:306) 在 com.sun.faces.config.ConfigureListener.contextInitialized (ConfigureListener.java:219) 在 org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548) 在 org.mortbay.jetty.servlet.Context.startContext(Context.java:136) 在 org.mortbay。 jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) 在 org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) 在 org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java: 467) 在 org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 在 org.mortbay.org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)。component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:224) at org .mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 在 com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:185) 在 com.google.appengine.tools.development.AbstractContainerService.startup (AbstractContainerService.java:147) 在 com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:219) 在 com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:164 ) 在 com.google.appengine.tools.development 的 com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)。DevAppServerMain.(DevAppServerMain.java:113) 在 com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:616) 在 com.intellij.rt.execution.application。 AppMain.main(AppMain.java:115) 引起:java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: net.sf.saxon.dom.NodeWrapper$ChildEnumeration.isAtomizing()Z at java.util.concurrent。 FutureTask$Sync.innerGet(FutureTask.java:252) at java.util.concurrent.FutureTask.get(FutureTask.java:111) at com.sun.faces.config。ConfigManager.getConfigDocuments(ConfigManager.java:668) ... 25 更多原因:java.lang.NoSuchMethodError: net.sf.saxon.dom.NodeWrapper$ChildEnumeration.isAtomizing()Z at net.sf.saxon.dom.NodeWrapper $ChildEnumeration.(NodeWrapper.java:1079) at net.sf.saxon.dom.NodeWrapper.iterateAxis(NodeWrapper.java:722) at net.sf.saxon.instruct.ApplyTemplates.defaultAction(ApplyTemplates.java:375) at net .sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:333) 在 net.sf.saxon.Controller.transformDocument(Controller.java:1807) 在 net.sf.saxon.Controller.transform(Controller.java:1621 ) 在 com.sun.faces.config.ConfigManager$ParseTask.call(ConfigManager.java:831) 在 com.sun.faces 的 com.sun.faces.config.ConfigManager$ParseTask.getDocument(ConfigManager.java:906)。配置。ConfigManager$ParseTask.call(ConfigManager.java:787) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at com .sun.faces.config.ConfigManager.getConfigDocuments(ConfigManager.java:656) ... 还有 25 个 2010 年 9 月 25 日 6:05:48 PM com.google.apphosting.utils.jetty.JettyLogger warnwarn
但我仍然不使用该库,也不明白 JSF 为何开始使用它。我试图从 saxon jar 中删除文件 javax.xml.transform.TransformerFactory,但它没有帮助。