Automatic modules and jpackage
Alan Bateman
Alan.Bateman at oracle.com
Mon Nov 27 14:42:51 UTC 2023
On 27/11/2023 11:44, Mark Raynsford wrote:
> I'm not entirely convinced that discussion on this list doesn't get
> lost in the endless sea of "RFR: " messages. :)
It was originally sent to jigsaw-dev, then Alan Synder sent it here.
As you know, automatic modules are to support migration without waiting
for everything you transitively depend on to migrate first. In addition
to allowing you to write "requires xxx" before xxx becomes an explicit
module, they also support bridging to the class path so you can leave
second and third level dependences on the class path. The intention was
for automatic modules to be used when early in the migration journey.
The jlink tool, on the other hand, is the other end of the journey where
everything is an explicit module. As jlink produces a run-time image
then it can't be in the business of having dangling references to
classes on the class path that may or may not exist. It's unfortunate
that some of the libraries you are using are slow or resistant to being
linking into a run-time image.
As you've found, jpackage supports applications where everything is an
explicit module on the module path or applications where everything is
on the class path. I don't know if it has been explored so support a
hybrid configuration when it runs jlink to create a run-time image for a
closed subset of the modules and produces an application image that has
the rest of the modules in a directory. One thing that would help the
discussion is to prototype your idea, see what it means for an
application image and work through the additional complexity of the
command line options. The possible command line options to jpackage is
already very length and complications so one concern is that another
mode would put it over the edge when it comes to usability.
-Alan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/core-libs-dev/attachments/20231127/f03b41e8/attachment.htm>
More information about the core-libs-dev
mailing list