3 things to cleanup in this area:
(1) The JDWP agent uses JNI GetEnv(JVMTI_VERSION_1) to get a JVMTI environment. If GetEnv fails the JDWP agent prints this:
ERROR: JDWP unable to access JVMTI Version 1 (0x30010000), is your J2SE a 1.5 or newer version? JNIEnv's GetEnv() returned -3
The text "is your J2SE a 1.5 or newer version?" dates from JDK 5 when JVMTI was introduced and doesn't make sense now.
(2) JVMTI_VERSION_1 suggests that the JDWP agent is looking for a JVMTI v1 environment when it really wants the latest. GetEnv should request JVMTI_VERSION so that it always requests the current version.
(3) There is some outdated compatibility checking between runtime and compile time versions of JVMTI that date back to the 1.0, 1.1, and 1.2 era, and are no longer needed.
(1) The JDWP agent uses JNI GetEnv(JVMTI_VERSION_1) to get a JVMTI environment. If GetEnv fails the JDWP agent prints this:
ERROR: JDWP unable to access JVMTI Version 1 (0x30010000), is your J2SE a 1.5 or newer version? JNIEnv's GetEnv() returned -3
The text "is your J2SE a 1.5 or newer version?" dates from JDK 5 when JVMTI was introduced and doesn't make sense now.
(2) JVMTI_VERSION_1 suggests that the JDWP agent is looking for a JVMTI v1 environment when it really wants the latest. GetEnv should request JVMTI_VERSION so that it always requests the current version.
(3) There is some outdated compatibility checking between runtime and compile time versions of JVMTI that date back to the 1.0, 1.1, and 1.2 era, and are no longer needed.