artio
artio copied to clipboard
Library cannot be used with Java Modules
This library cannot be used with Java Modules because it exports the same package from multiple JAR files.
- Java Modules does not allow a module to import the same package from two different dependencies.
- Both
uk.co.real-logic:artio-core:0.31
anduk.co.real-logic:artio-codecs:0.31
export packageuk.co.real_logic.artio
-
uk.co.real-logic:artio-core:0.31
dependson uk.co.real-logic:artio-codecs:0.31
so one cannot importuk.co.real-logic:artio-core:0.31
Proposed fix: Move the classes into different package so that each JAR exports a unique package name.
Any thoughts on how to do this in a backwards compatible way? It's not essential to maintain compatibility, but if it is possible then it would be good to do so.
Hi Richard,
You could release separate artifacts for Java9+ like guava originally did (they did it for Java8 support) and eventually turn that into the default in the next major release. With that approach you'd need to break compatibility eventually.
Another thing you could do is merge the JAR files so there is only one exporting the package and the other is empty.
Maybe someone has a third idea :)
In our own product, we opted to just break compatibility.
Hey @RichardWarburton,
Did you decide how to proceed?
This was perceived to be a low priority item by clients so I've not progressed it.