1. 程式人生 > >eclipse或myeclipse中的專案用配置的Tomact啟動問題

eclipse或myeclipse中的專案用配置的Tomact啟動問題

eclipse中的專案用配置的Tomact啟動。但是出現問題,如下:

Caused by: java.lang.IllegalStateException: Context namespace element 'component-scan' and its parser class [org.springframework.context.annotation.ComponentScanBeanDefinitionParser] are only available on JDK 1.5 and higher

應該是我在專案中用了jdk1.8的版本,但是JdkVersion只檢查到了1.7,jre1.8時不匹配任何jdk。所以 你可以改一下jdk的版本或用下面的方法:

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;
    //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; } } }

這個類在spring的核心包下:即org.springframework.core包下。可以改下原始碼或者在自己的src下,建立一個同樣的包名(org.springframework.core),在包中加入這個類就可以了。名稱和spring的相同,它會載入我們的這個,不會在找spring下的了。