RFR: 8353267: jmod create finds the wrong set of packages when class file are in non-package location

Roger Riggs rriggs at openjdk.org
Mon Apr 7 15:13:01 UTC 2025


On Tue, 1 Apr 2025 17:33:43 GMT, Alan Bateman <alanb at openjdk.org> wrote:

> `jmod create` maps the contents of the module to a set of packages. This mapping derives illegal package names when class resources are located in non-package locations, e.g. in the META-INF tree. `jlink` also has an issue in this area and doesn't correctly determine if a resource is in a named package when the resource is class file in a non-package location.

Looks fine except for a possible improvement of an exception message to better cover a new case.

src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java line 752:

> 750:          * Throws IOException for a .class file that is not module-info.class.
> 751:          */
> 752:         private void ensureNotClassFile(String name) {

The mention of the "unnamed package" may not always be applicable.

-------------

PR Review: https://git.openjdk.org/jdk/pull/24362#pullrequestreview-2747192692
PR Review Comment: https://git.openjdk.org/jdk/pull/24362#discussion_r2031461542


More information about the core-libs-dev mailing list