Closed Bing-ok closed 4 years ago
Hi @Bing-ok 👋 Many thanks for getting in touch and pointing this out. I guess, in a first step, we should update the sirius-* dependencies. I can do that next week after I return from vacation. However, we should probably still unify the other dependencies further down the graph. I will ask some colleagues to have a look at your suggestions. However, feel free to submit a PR with your favorite solution.
Hello! I have upgraded the sirius
dependencies now. Does the problem still exist? If you still want to submit a PR, I think I would prefer the second solution.
Thanks for #151 @Bing-ok 🙇♂️ Can we close the issue now?
Sure
Issue description
Hi, there are multiple versions of com.fasterxml.jackson.core:jackson-databind in s3ninja. As shown in the following dependency tree, according to Maven's “nearest wins” strategy, only com.fasterxml.jackson.core:jackson-databind:2.6.7.2 can be loaded, com.fasterxml.jackson.core:jackson-databind:2.9.8 will be shadowed.
Howeve, several methods defined in shadowed version com.fasterxml.jackson.core:jackson-databind:2.9.8 are referenced by client project via com.scireum:sirius-kernel:14.0, but missing in the actually loaded version com.fasterxml.jackson.core:jackson-databind:2.6.7.2
For intance, the following missing methods(defined in com.scireum:sirius-kernel:14.0) are actually referenced by s3ninja, which will introduced a runtime error(i.e., "NoSuchMethodErrors") into s3ninja.
1. com.fasterxml.jackson.databind.ser.std.MapProperty: void reset(java.lang.Object,java.lang.Object,com.fasterxml.jackson.databind.JsonSerializer,com.fasterxml.jackson.databind.JsonSerializer) is invoked by s3ninja via the following path:
2. com.fasterxml.jackson.databind.jsontype.TypeSerializer: com.fasterxml.jackson.core.type.WritableTypeId typeId(java.lang.Object,com.fasterxml.jackson.core.JsonToken) is invoked by s3ninja via the following path:
3. com.fasterxml.jackson.databind.JsonMappingException: com.fasterxml.jackson.databind.JsonMappingException 'from'(com.fasterxml.jackson.core.JsonGenerator,java.lang.String) is invoked by s3ninja via the following path:
Suggested fixing solutions
Please let me know which solution do you prefer? I can submit a PR to fix it.
Thank you very much for your attention. Best regards,
Dependency tree----