implementation-bpel and implementation-xquery incompatibility
implementation-bpel and implementation-xquery use incompatible libraries because implementing a wide range of same classes (not all), but not in the same version (net.sourceforge.saxon:saxon:9.1.0.8 for xquery and net.sf.saxon:saxonhe:9.2.0.6 for bpel)
Reproduce the error :
add the implementation-xquery dependency to the factorial-bpel example
org.ow2.frascati frascati-implementation-script-xquery ${project.version}then try to execute the maven installation process of the factorial-bpel example,an exception is thrown :
java.lang.NoSuchMethodError: net.sf.saxon.Configuration.newConfiguration()Lnet/sf/saxon/Configuration; at net.sf.saxon.xpath.XPathFactoryImpl.(XPathFactoryImpl.java:26) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at javax.xml.xpath.XPathFactoryFinder.loadFromService(XPathFactoryFinder.java:370) at javax.xml.xpath.XPathFactoryFinder._newFactory(XPathFactoryFinder.java:222) at javax.xml.xpath.XPathFactoryFinder.newFactory(XPathFactoryFinder.java:143) at javax.xml.xpath.XPathFactory.newInstance(XPathFactory.java:185) at javax.xml.xpath.XPathFactory.newInstance(XPathFactory.java:99) at com.ebmwebsourcing.easybox.impl.JaxbSchemaBinding.(JaxbSchemaBinding.java:50) at com.ebmwebsourcing.easybox.impl.AbstractXmlObjectSchemaBindingImpl.(AbstractXmlObjectSchemaBindingImpl.java:28) at com.ebmwebsourcing.easyschema10.impl.XmlObjectSchemaBindingImpl.(XmlObjectSchemaBindingImpl.java:15) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:345)
A simple substitution of library in an implementation or an other does not work.