spring2.5.6默认jdk1.7是最高版本,使用1.8默认比1.7低。
解决办法:spring版本更新到3.0以上,可能要对几乎整个项目进行返工
或者 使用jdk1.7进行开发
或者从org.springframework.core包中找到源文件JdkVersion.java。http://www.java2s.com/Code/Jar/o/Downloadorgspringframeworkcoresources300releasejar.htm。我在我的项目中创建了org.springframework.core包,只包含一个类JdkVersion。之后,对代码进行了简单的更改以检查Java 8版本。
publicstaticfinal int JAVA_18=5;
javaVersion = System.getProperty("java.version");
// version String should look like "1.4.2_10"
if (javaVersion.contains("1.8.")) {
majorJavaVersion = JAVA_18;
System.out.println("JAVA_VERSION: "+javaVersion);
} else if (javaVersion.contains("1.7.")) {
majorJavaVersion = JAVA_17;
}
即使这种代码更改并不是真的必要,只是为了好玩。这是因为这个源代码来自Spring 3.0.0包,其中Spring人已经更改了Java版本检查。高于7的版本不被视为旧Java。
现在应用程序启动正常 它从我的项目中调用JdkVersion类而不是jar。
网友评论