zoukankan      html  css  js  c++  java
  • java Context namespace element 'component-scan' and its parser class ComponentScanBeanDefinitionParser are only available on JDK 1.5 and higher 解决方法

    解决java web 项目中的Spring 2.5版本与JDK 1.8版本兼容问题。

     错误如下:

    Context namespace element 'component-scan' and its parser class ComponentScanBeanDefinitionParser are only available on JDK 1.5 and higher

    解决方法,在项目中创建下面的类,运行即可消除该错误

    /*
     * Copyright 2002-2007 the original author or authors.
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     *      http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     */
    
    package org.springframework.core;
    
    /**
     * Internal helper class used to find the Java/JDK version
     * that Spring is operating on, to allow for automatically
     * adapting to the present platform's capabilities.
     *
     * <p>Note that Spring requires JVM 1.4 or higher, as of Spring 2.5.
     *
     * @author Rod Johnson
     * @author Juergen Hoeller
     * @author Rick Evans
     */
    public abstract class JdkVersion {
    
        /**
         * Constant identifying the 1.3.x JVM (JDK 1.3).
         */
        public static final int JAVA_13 = 0;
    
        /**
         * Constant identifying the 1.4.x JVM (J2SE 1.4).
         */
        public static final int JAVA_14 = 1;
    
        /**
         * Constant identifying the 1.5 JVM (Java 5).
         */
        public static final int JAVA_15 = 2;
    
        /**
         * Constant identifying the 1.6 JVM (Java 6).
         */
        public static final int JAVA_16 = 3;
    
        /**
         * Constant identifying the 1.7 JVM (Java 7).
         */
        public static final int JAVA_17 = 4;
        public static final int JAVA_18 = 4;
    
    
        private static final String javaVersion;
    
        private static final int majorJavaVersion;
    
        static {
            javaVersion = System.getProperty("java.version");
            // version String should look like "1.4.2_10"
            if(javaVersion.indexOf("1.8.") != -1){
                majorJavaVersion = JAVA_18;
            }else if (javaVersion.indexOf("1.7.") != -1) {
                majorJavaVersion = JAVA_17;
            }
            else if (javaVersion.indexOf("1.6.") != -1) {
                majorJavaVersion = JAVA_16;
            }
            else if (javaVersion.indexOf("1.5.") != -1) {
                majorJavaVersion = JAVA_15;
            }
            else {
                // else leave 1.4 as default (it's either 1.4 or unknown)
                majorJavaVersion = JAVA_14;
            }
        }
    
    
        /**
         * Return the full Java version string, as returned by
         * <code>System.getProperty("java.version")</code>.
         * @return the full Java version string
         * @see System#getProperty(String)
         */
        public static String getJavaVersion() {
            return javaVersion;
        }
    
        /**
         * Get the major version code. This means we can do things like
         * <code>if (getMajorJavaVersion() < JAVA_14)</code>.
         * @return a code comparable to the JAVA_XX codes in this class
         * @see #JAVA_13
         * @see #JAVA_14
         * @see #JAVA_15
         * @see #JAVA_16
         * @see #JAVA_17
         */
        public static int getMajorJavaVersion() {
            return majorJavaVersion;
        }
    
        /**
         * Convenience method to determine if the current JVM is at least Java 1.4.
         * @return <code>true</code> if the current JVM is at least Java 1.4
         * @see #getMajorJavaVersion()
         * @see #JAVA_14
         * @see #JAVA_15
         * @see #JAVA_16
         * @see #JAVA_17
         */
        public static boolean isAtLeastJava14() {
            return true;
        }
    
        /**
         * Convenience method to determine if the current JVM is at least
         * Java 1.5 (Java 5).
         * @return <code>true</code> if the current JVM is at least Java 1.5
         * @see #getMajorJavaVersion()
         * @see #JAVA_15
         * @see #JAVA_16
         * @see #JAVA_17
         */
        public static boolean isAtLeastJava15() {
            return getMajorJavaVersion() >= JAVA_15;
        }
    
        /**
         * Convenience method to determine if the current JVM is at least
         * Java 1.6 (Java 6).
         * @return <code>true</code> if the current JVM is at least Java 1.6
         * @see #getMajorJavaVersion()
         * @see #JAVA_16
         * @see #JAVA_17
         */
        public static boolean isAtLeastJava16() {
            return getMajorJavaVersion() >= JAVA_16;
        }
    
    }
  • 相关阅读:
    Delphi中WebBrowser控件打开部分网站报"Invalid floating point operation”解决
    delphi中URL的汉字编码
    python手记(11)
    李维对VCL理解的几个错误
    如何配置MYSQL的MASTER---SLAVE复制备份?
    UniDAC连接Embedded MySQL server
    unigui组件中client javascript delphi组件之间的操作
    Delphi中SendMessage使用说明(所有消息说明) good
    iOS面试题
    Windows的MAX_PATH
  • 原文地址:https://www.cnblogs.com/zoro-zero/p/13469301.html
Copyright © 2011-2022 走看看