【问题标题】:javax.xml.validation.SchemaFactoryConfigurationError: Provider for class javax.xml.validation.SchemaFactory cannot be createdjavax.xml.validation.SchemaFactoryConfigurationError:无法创建类 javax.xml.validation.SchemaFactory 的提供程序
【发布时间】:2018-01-08 01:57:45
【问题描述】:

当我尝试使用 tomcat(在服务器启动时)运行我的 web 应用程序时出现以下异常。[将 java 7 升级到 java 8 和 tomcat 7 到 8.5]

使用的罐子:xercesImpl-2.11.0.jar

严重:部署期间出现严重错误: javax.xml.validation.SchemaFactoryConfigurationError:无法创建类 javax.xml.validation.SchemaFactory 的提供程序 在 javax.xml.validation.SchemaFactoryFinder.findServiceProvider(SchemaFactoryFinder.java:414) 在 javax.xml.validation.SchemaFactoryFinder._newFactory(SchemaFactoryFinder.java:218) 在 javax.xml.validation.SchemaFactoryFinder.newFactory(SchemaFactoryFinder.java:145) 在 javax.xml.validation.SchemaFactory.newInstance(SchemaFactory.java:213) 在 com.sun.faces.util.Util.createSchemaFactory(Util.java:237) 在 com.sun.faces.config.DbfFactory.initStatics(DbfFactory.java:247) 在 com.sun.faces.config.DbfFactory.(DbfFactory.java:209) 在 com.sun.faces.config.ConfigManager$ParseTask.(ConfigManager.java:892) 在 config.ConfigManager.getConfigDocuments(ConfigManager.java:652) 在 nfig.ConfigManager.initialize(ConfigManager.java:324) 在 ConfigureListener.contextInitialized(ConfigureListener.java:223) 在 org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4745) org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5207) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752) 在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728) 在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) 在 org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630) 在 org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1842) 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748) 引起:java.util.ServiceConfigurationError: javax.xml.validation.SchemaFactory: jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat8.5/lib/wlfullclient.jar!/META-INF/ services/javax.xml.validation.SchemaFactory:1:非法提供者类名称:http://www.w3.org/2001/XMLSchema=org.apache.xerces.jaxp.validation.XMLSchemaFactory 在 java.util.ServiceLoader.fail(ServiceLoader.java:239) 在 java.util.ServiceLoader.fail(ServiceLoader.java:245) 在 java.util.ServiceLoader.parseLine(ServiceLoader.java:272) 在 java.util.ServiceLoader.parse(ServiceLoader.java:307) 在 java.util.ServiceLoader.access$200(ServiceLoader.java:185) 在 java.util.ServiceLoader$LazyIterator.hasNextService(ServiceLoader.java:357) 在 java.util.ServiceLoader$LazyIterator.hasNext(ServiceLoader.java:393) 在 java.util.ServiceLoader$1.hasNext(ServiceLoader.java:474) 在 javax.xml.validation.SchemaFactoryFinder$2.run(SchemaFactoryFinder.java:403) 在 javax.xml.validation.SchemaFactoryFinder$2.run(SchemaFactoryFinder.java:399) 在 java.security.AccessController.doPrivileged(本机方法) 在

【问题讨论】:

  • 使用了Java8和tomcat8.5。

标签: java tomcat xsd xsd-validation


【解决方案1】:

从我的 QA 服务器获取 wlfullclient.jar 并将其放在本地升级的 tomcat 中。

当我比较时,我发现 QA 的 wlfullclient.jar 大小比我在本地 tomcat 中的要大得多。然后我想让我们试试这个。并且成功了。

谢谢

【讨论】:

  • 我遇到了同样的问题,这是因为我使用 Java 8 而不是 7 进行编译。
猜你喜欢
  • 1970-01-01
  • 2021-12-28
  • 1970-01-01
  • 1970-01-01
  • 2021-05-30
  • 1970-01-01
  • 2020-05-13
  • 1970-01-01
  • 2015-12-04
相关资源
最近更新 更多