And you probably misunderstood me, I am not diminishing/closing this issue at all. Quite the opposite, I think its relevant but I want to fully understand the extent to which it affects Weld. I got the impression this is just a first of many Java 9 issues to show up with modularization.
Well sorry for the misunderstanding. As you said solving this point is only the very first step on the complex Jigsaw path.
Question like these pop up:
1) Is this the only "package clash" we have in Weld? How do we easily determine this?
Good question, I'll ask on openjdk ml if we have an easy way to find out
2) What do we do in Weld 2.4, we probably want ppl to run it on Java 9 (and if we don't want it, EAP will want it) but this change is not backward compatible to put it there.
I think we should sy that 2.4 cannot be used with JDK9 or in module path. As solving this very fitst point breaks compatibility we should at least go for a 2.5 if we ant to support this in Weld 2.x
3) Then there is Maven and its module-path. Why can't we determine between CP and MP - Java 9 operates on both (e.g. automatic modules versus unnamed module)
I guess it's because they didn't want to add extra info on dependencies to indicate if they could be used in Module path or not. Class Path support is seen as a legacy support so Maven team didn't want to add structural info for the backward compatibility sake IMO. |