Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Invalid
-
3.8.0
-
None
-
None
-
Karaf - 4.2.9
-
Unknown
Description
Hello,
Please help to find solution for dependicy conflict.
I have installed on karaf, next features:
- camel-cxf » 3.8
- camel-core » 3.8
- apache-cxf » 3.4.2
When i try to use JAXWS to publish servlet, i got exception:
java.lang.NoSuchMethodError: org.codehaus.stax2.ri.EmptyIterator.getInstance()Lorg/codehaus/stax2/ri/EmptyIterator;
After some investigation, i found next dependicies:
1. Camel CXF
camel-cxf » 3.8 -> cxf-rt-frontend-jaxws » 3.4.2 -> Apache CXF Core » 3.4.2 -> Woodstox » 6.2.3
As i undertand - woodstox-core renamed, and named woodstox-core-asl in the past.
2. Camel Core
It use xml-specs-api feature, that have bundle:
<bundle>mvn:org.codehaus.woodstox/woodstox-core-asl/4.4.1</bundle>
Wich is the old fashion of woodstox-core.
If i manually uninstall bundle mvn:org.codehaus.woodstox/woodstox-core-asl/4.4.1 from karaf, everything works. I can't force my bundle, to take new woodstox-core instead old woodstox-core-asl...
I think the problem is because this is not a different versions, it is a artifact rename, and classloader take first jar (woodstox-core-asl) and use it's classes.