RFR: 8331467: ImageReaderFactory can cause a ClassNotFoundException if the default FileSystemProvider is not the system-default provider [v4]
liyazzi
duke at openjdk.org
Mon Dec 9 12:29:20 UTC 2024
> For two cases:
>
> 1. When the ImageReaderFactory was loaded by local jdk,that means the ImageReaderFactory was loaded by boot class loader,then init the `Path BOOT_MODULES_JIMAGE` by using `sun.nio.fs.DefaultFileSystemProvider` which is obtained through reflection,due to it is in jdk internal.
> 2. When loaded by a target jdk, such as jdk8 runtime, then use the Java 8 compatible APIs: `FileSystems.getDefault()` to init the `BOOT_MODULES_JIMAGE` field.
> Then we can avoid the circular dependencies in class loading caused by loading the defaultSystemProvider.
liyazzi has updated the pull request incrementally with one additional commit since the last revision:
empty commit
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/22628/files
- new: https://git.openjdk.org/jdk/pull/22628/files/c7590d21..042c9fec
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=22628&range=03
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=22628&range=02-03
Stats: 0 lines in 0 files changed: 0 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/22628.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/22628/head:pull/22628
PR: https://git.openjdk.org/jdk/pull/22628
More information about the core-libs-dev
mailing list