Quality Outreach Heads-up - JDK 27: Removal of Deprecated Java Launcher Options

The OpenJDK Quality Group is promoting the testing of FOSS projects with OpenJDK builds as a way to improve the overall quality of the release. This heads-up is part of a Quality Outreach update sent to the projects involved. To learn more about the program, and how-to join, please check here.

Deprecated Java Launcher Options

In Java 13, through JDK-8214731, the -Xverify:none and -noverify options were deprecated. Using either of those options currently results in bytecode verification being disabled and a warning being printed that these 2 options will be removed in the near future:

OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.

Disabling bytecode verification (which is what these 2 options do) is not recommended and the deprecation warning has been in place for several releases now, which will have given enough time for applications to stop using them.

Similarly, in Java 24, through JDK-8340244, several other java launcher options were deprecated for removal. Out of those deprecated, the following 2 are less commonly used:

  • -noclassgc
  • -verifyremote

Currently, when java is launched with -noclassgc, the launcher replaces its usage with -Xnoclassgc when launching the VM. A deprecation warning is also printed for this option:

Warning: -noclassgc option is deprecated and may be removed in a future release.

Similarly, when -verifyremote is used, the launcher replaces its usage with -Xverify:remote VM option and prints a deprecation warning:

Warning: -verifyremote option is deprecated and may be removed in a future release.

The deprecation warnings have been in place for some releases now and it’s time to remove support for -noclassgc, -verifyremote, -noverify, and -Xverify:none altogether.

Removal in JDK 27

Support for the options -noclassgc, -verifyremote, and -noverify will be removed from the java launcher. Support for -Xverify:none will be removed from the HotSpot VM. Using any of these options will now result in them being considered as unrecognized options and the java launcher (and the HotSpot VM) will fail with an error.

For example:

java -verifyremote -version
Unrecognized option: -verifyremote
...

The -Xverify:remote and -Xnoclassgc HotSpot VM options are untouched in this change and will continue to function normally.

For more information, please check JDK-8382727.

~