Problem:

When `-bootclasspath` is specified, javap still searches `SYSTEM_MODULES` 
before `PLATFORM_CLASS_PATH`. Therefore, system classes such as 
`java.lang.Object` are loaded from the current JDK instead of the specified 
boot class path.

Fix:

When a boot class path is explicitly specified, skip the `SYSTEM_MODULES` 
lookup. The existing behavior remains unchanged otherwise.

Testing:

- Added regression coverage for all three boot class path option forms: 
`-bootclasspath`, `--boot-class-path`, and `--boot-class-path=<path>`.
- `make test TEST=test/langtools/tools/javap`: 87 passed, 1 excluded, 0 failed.

---------
- [x] I confirm that I make this contribution in accordance with the [OpenJDK 
Interim AI Policy](https://openjdk.org/legal/ai).

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

Commit messages:
 - 8354563: javap's -bootclasspath option is no longer respected

Changes: https://git.openjdk.org/jdk/pull/32554/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=32554&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8354563
  Stats: 110 lines in 2 files changed: 107 ins; 0 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/32554.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/32554/head:pull/32554

PR: https://git.openjdk.org/jdk/pull/32554

Reply via email to