Spring2.5在java8环境下报错的解决方案
来源:互联网 发布:拉面说 知乎 编辑:程序博客网 时间:2024/06/05 19:32
老框架ssh,使用spring2.5,在java8的环境下报错,提示版本过低,要使用1.5以上的jdk.
java是向下兼容的,问题应该不是出现在jdk上.
后来查看报错原因提示在spring的包里.
然后网上搜了一下,发现是因为有个jdkversion.class的类在spring初始化的时候首先判断了一下jdk的版本,
这个class只判断到了1.7.导致在1.8的环境下,他返回的是else里面的内容,也就是说返回了一个false.
更改jdkVersion.class类,添加部分判断,重新编译放进spring2.5的jar包中,重新运行,启动正常.
附代码:
package org.springframework.core;public abstract class JdkVersion{ public static final int JAVA_13 = 0; public static final int JAVA_14 = 1; public static final int JAVA_15 = 2; public static final int JAVA_16 = 3; public static final int JAVA_17 = 4; //=====================================这些代码是我新增的内容====start; public static final int JAVA_18 = 5; //=====================================这些代码是我新增的内容====end; //这里是获取到java 的版本; private static final String javaVersion = System.getProperty("java.version"); private static final int majorJavaVersion; public static String getJavaVersion() { return javaVersion; } public static int getMajorJavaVersion() { return majorJavaVersion; } public static boolean isAtLeastJava14() { return true; }//如果spring2.5使用的这个方法来做校验那么在java8的环境下,一定是返回一个false;添加一个常亮,使其能够返回true即可; public static boolean isAtLeastJava15() { return getMajorJavaVersion() >= 2; } public static boolean isAtLeastJava16() { return getMajorJavaVersion() >= 3; }//然后这里就可以通过获取到的java 的版本,交给majorJavaVersion; static { if (javaVersion.indexOf("1.7.") != -1) { majorJavaVersion = 4; } else if (javaVersion.indexOf("1.6.") != -1) { majorJavaVersion = 3; } else if (javaVersion.indexOf("1.5.") != -1) { majorJavaVersion = 2; }//=====================================这些代码是我新增的内容====start;else if (javaVersion.indexOf("1.8.") != -1){ majorJavaVersion = 5;} //=================================================================end; else { majorJavaVersion = 1; } }}
0 0
- Spring2.5在java8环境下报错的解决方案
- spring2.5.6在jdk1.8环境下运行的问题
- spring2.5搭建环境
- Spring2.5开发环境搭建
- spring2.0 , spring2.5的一些区别
- spring2.0与spring2.5的差别
- 在Spring2.5中定制自己的属性编辑器
- spring2.5的概念
- Spring2.5的Autowired
- quartz在集群环境下的解决方案
- quartz在集群环境下的解决方案
- quartz在集群环境下的解决方案
- Java8的环境与IDE支持有关
- Spring2.5教程:2、搭建与测试Spring的开发环境
- Spring2.5教程:2、搭建与测试Spring的开发环境
- Spring2.5的新特性
- Spring2.5的新特性
- Spring2.5+OpenJPA的配置
- 细说Linux下的粘滞位
- 重写hierarchy面板,实现创建Text自动添加content size fitter组件
- 区间k大数查询
- TensorflowOnSpark 介绍与搭建
- 通过注册表修改证书选项
- Spring2.5在java8环境下报错的解决方案
- 172.Number Complement
- java项目中使用angularjs1.X,解决微信内置h5支付授权目录配置
- 单例模式的七种实现
- 读取注册表中某个软件安装路径的字段值
- Android导入工程,R 资源文件无法生成
- socket bind() 方法
- Controller单例
- 【C++】【LeetCode】3. Longest Substring Without Repeating Characters