Xerces Dependency of Hibernate-5

What version of xerces/xercesImpl does Hibernate5 use ?

I have xercesImpl 2.12.0 and hibernate5 and this combination is throwing following error.

Caused by: java.lang.NoSuchMethodError: org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar([Lorg/apache/xerces/xni/parser/XMLInputSource;)V
at org.apache.xerces.jaxp.validation.XMLSchemaFactory.newSchema(Unknown Source)
at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:638)
at org.hibernate.boot.xsd.LocalXsdResolver.resolveLocalXsdSchema(LocalXsdResolver.java:97)
at org.hibernate.boot.xsd.LocalXsdResolver.buildXsdDescriptor(LocalXsdResolver.java:117)
at org.hibernate.boot.xsd.MappingXsdSupport.(MappingXsdSupport.java:23)
at org.hibernate.boot.xsd.MappingXsdSupport.(MappingXsdSupport.java:21)
at org.hibernate.boot.jaxb.internal.MappingBinder.doBind(MappingBinder.java:53)
at org.hibernate.boot.jaxb.internal.AbstractBinder.doBind(AbstractBinder.java:103)
at org.hibernate.boot.jaxb.internal.AbstractBinder.bind(AbstractBinder.java:58)
at org.hibernate.boot.jaxb.internal.InputStreamXmlSource.doBind(InputStreamXmlSource.java:43)
at org.hibernate.boot.jaxb.internal.InputStreamXmlSource.doBind(InputStreamXmlSource.java:38)
at org.hibernate.boot.spi.XmlMappingBinderAccess.bind(XmlMappingBinderAccess.java:79)
at org.hibernate.boot.model.process.internal.ScanningCoordinator.applyScanResultsToManagedResources(ScanningCoordinator.java:208)
at org.hibernate.boot.model.process.internal.ScanningCoordinator.coordinateScan(ScanningCoordinator.java:82)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.prepare(MetadataBuildingProcess.java:107)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.(EntityManagerFactoryBuilderImpl.java:269)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.(EntityManagerFactoryBuilderImpl.java:182)
at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:52)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800)

I don’t think that Hibernate has any direct dependency on Xerces, it just relies on a JAXB provider. Looks like you might have multiple xerces artifacts with different versions on your class path though. Either way, that’s not a Hibernate problem.