解決AnnotationTransactionAttributeSource is only available on Java 1.5 and highe


由於項目需要把jdk升級成為了jdk8,在eclipse中導入一個jdk1.6的項目,啟動tomcat的時候,報錯:

AnnotationTransactionAttributeSource is only available on Java 1.5 and highe

想要解決這個錯誤,一般有兩種辦法:

1、將jdk8換成jdk7,重新啟動項目就好了(由於另一個項目必須是jdk1.8,所以降版本不現實)。

2、第二種手動修改spring的jar包,在org.springframework.core目錄下,有一個JdkVersion.class,自己參照包路徑,重新寫一個JdkVersion.java,如下所示:


    package org.springframework.core;
     
    public 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;
        
        //for jre 1.8
        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
        {
            //for jre 1.8
            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;
            }
        }
    }


寫好之后,編譯成.class文件,放到spring的jar包中,替換項目jar包,重新啟動,就好了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM