JEP 238: Multi-Version JAR Files

Paul Sandoz paul.sandoz at oracle.com
Wed Feb 25 13:30:30 UTC 2015


On Feb 12, 2015, at 11:59 PM, Stephen Colebourne <scolebourne at joda.org> wrote:
> Interesting direction.
> 

Catching up on email after being away last week...


> Reading carefully, the goal is actually very limited in scope, by
> preventing any public API changes. It doesn't help adoption of JSR-310
> for example, but will be useful for Unsafe, which is clearly a
> motivating factor.

Yes, in addition to other stuff internal stuff.


> 
> I would expect IDEs to have some considerable work to do.

Yes, if the concept of a multi-version project has legs. It "feels" appropriate to have everything under one project rather than spread out between separate projects/repos with some form of merging.


> 
> My biggest concern will be ensuring tools like Reflections (or other
> classpath scanning tools) carry on working. Really, classpath scanning
> should no longer be necessary with a module system, but since we've
> heard nothing to indicate that issue is being tackled, those tools
> will continue to be vital (such as to find all classes implementing an
> annotation, or all implementations of an interface)
> 

Even in the modular world i will expect class scanning will be used. While we can now iterate reliably over classes in the image i don't believe that functionality is made available for classes in modules on the module path.

I am guilty if writing such class scanners :-) The context was JAX-RS/Jersey. In this case i would expect that the annotations should be the same across multiple class files targeted to different platforms, since that is part of the API. 

But in general i agree there could be issues. I am very interested in hearing feedback on such cases. 

Please share widely, if not already done so.

Paul.






More information about the core-libs-dev mailing list