引发异常的类正在使用以下代码检查Java版本:
static {
javaVersion = System.getProperty("java.version");
// version String should look like "1.4.2_10"
if (javaVersion.indexOf("1.7.") != -1) {
majorJavaVersion = JAVA_17;
}
else if (javaVersion.indexOf("1.6.") != -1) {
majorJavaVersion = JAVA_16;
}
else if (javaVersion.indexOf("1.5.") != -1) {
majorJavaVersion = JAVA_15;
}
else {
// else leave 1.4 as default (it's either 1.4 or unkNown)
majorJavaVersion = JAVA_14;
}
}
因此,当Spring 2.5首次发布时,代码并未假定它将在1.7以上的Java版本中运行。对于Java 8及更高版本,以上代码将采用默认的1.4版本。因此,注释部分将抱怨。