关于项目中Spring版本与jdk1.8兼容问题解决

问题描述:
在用公司的工具搭建项目时,由于使用Spring框架,同时要求jdk版本为1.8;当部署完成以后,项目总是无法运行,会报错:

Context namespace element ‘annotation-config’ and its parser class [org.springframework.context.annotation.AnnotationConfigBeanDefinitionParser] are only available on JDK 1.5 and higher

刚开始解决的时候,花了很长时间都遇到各种问题,后来,静下心来,慢慢一步一步逐条解决,最后终于解决了问题,现在项目已经可以正常运行;

将自己解决的方式做记录,留待以后参考。


1:首先,我们在项目中新建一个包(package),包名:org.springframework.core;

2:然后,我们在新建的包下面新建一个Java类(class),类名JdkVersion.java;

3:编辑新建的类:

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;

    public static final int JAVA_18 = 5;
    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;
    }
    public static boolean isAtLeastJava15() {
        return getMajorJavaVersion() >= 2;
    }
    public static boolean isAtLeastJava16() {
        return getMajorJavaVersion() >= 3;
    }
    static {

        if (javaVersion.indexOf("1.8.") != -1) {
            majorJavaVersion = 5;
        }else 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;
        } else {
            majorJavaVersion = 1;
        }
    }
}

4:编辑完类以后,找到项目路径:WEB-INF/classes;找到对应package中的.class文件;
即:org.springframework.core 包下的JdkVersion.class文件。

5:将项目中的spring.jar拷贝出来打开,然后将JdkVersion.class替换jar包中的该文件。

6:将修改后的spring.jar再覆盖到项目中。

在运行完Java类之后,我由于好奇,特别想查看一下.class类文件里的内容,然后就开始寻找各种方式查看编译后的文件。

苍天不负有心人,花了一些时间,终于找到了一个网上在线查看编译文件的网站。
贴出来备录:
编译后的class文件查看

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值