On 02/10/2015 18:20, Ron Pressler wrote:
I don't think I entirely understand your answer. Do you mean that the
suggested method for solving transitive-dependency conflicts in Java 9
is still (the brittle) shadowing?
The module system isn't suggesting any solutions, it is instead leaving
this problem to the build tools and containers.
Also, the somewhat-less-hacky hack I was suggesting with agents isn't
to change the boot layer itself, but to leave it empty (aside from the
agent's module), and manually load the application through a new layer
(or multi-layer) configuration (which may be annoying to compute due
to the second problem).
Starting an application in its own layer should be fine, it might even
use a different version of a module that the container (=agent in this
case) is using. Multiple layers are fine too.
Technically of course the boot layer isn't empty here, there is at least
two (container + java.base) but that is just a detail at this point.
-Alan