/*
* Copyright 2002-2004 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;
/**
* Helper class used to find the current Java/JDK version.
* Usually we want to find if we're in a 1.4 or higher JVM.
* (Spring does not support 1.2 JVMs.)
*
* @author Rod Johnson
* @author Juergen Hoeller
*/
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;
private static String javaVersion;
private static int majorJavaVersion = JAVA_13;
static {
javaVersion = System.getProperty("java.version");
// should look like "1.4.1_02"
if (javaVersion.indexOf("1.4.") != -1) {
majorJavaVersion = JAVA_14;
} else if (javaVersion.indexOf("1.5.") != -1) {
majorJavaVersion = JAVA_15;
} else if (javaVersion.indexOf("1.6.") != -1) {
majorJavaVersion = JAVA_16;
} else if (javaVersion.indexOf("1.7.") != -1) {
majorJavaVersion = JAVA_17;
}
// else leave as 1.3 default
}
/**
* Return the full Java version string, as returned by
* <code>System.getProperty("java.version")</code>.
*/
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
*/
public static int getMajorJavaVersion() {
return majorJavaVersion;
}
}
分享到:
相关推荐
然而,随着Java版本的升级,有时候不同版本的Spring和JDK之间可能会出现兼容性问题。在本例中,我们讨论的是Spring 3.2.0版本与JDK 1.8之间的冲突。 Spring 3.2.0发布于2012年,那时JDK 1.8尚未推出(JDK 1.8在2014...
Spring 5.0和4.2.0是两个重要的版本,分别对应不同的Java Development Kit (JDK) 版本,即JDK 8和JDK 7。在选择Spring版本时,与所使用的JDK兼容性是关键因素。 首先,让我们详细了解一下Spring 4.2.0。这个版本是...
原来这个工程的spring是2.5,网上说spring2.5必须要求JDK1.5以上版本,但不能兼容1.8。 没道理会这样吧? 原来spring-2.5.5.jar有一个检查JDK版本号的类,编码质量略低,导致1.8被误认为未达到“JDK1.5以上版本”...
该jar包兼容了jdk1.3到1.8,可以放心使用。
低版本spring兼容高版本jdk,原有项目升级jdk和tomcat
在源码中,`BeanFactory`和`ApplicationContext`接口是IoC容器的主要代表,前者是基础版本,后者提供了更多的企业级特性,如事件发布、国际化支持等。 接着,AOP是Spring的另一大特色。AOP允许开发者定义“切面”,...
【标题】"JDK 8 + Spring Boot 2.7.18" 指的是一个基于Java 8和Spring Boot 2.7.18版本的开发环境或项目。这个组合是现代Java应用程序开发中的常见选择,因为它提供了高效能、易用性和强大的功能。 【JDK 8】是Java...
原来这个工程的spring是2.5,网上说spring2.5必须要求JDK1.5以上版本,但不能兼容1.8。 没道理会这样吧? 原来spring-2.5.5.jar有一个检查JDK版本号的类,编码质量略低,导致1.8被误认为未达到“JDK1.5以上版本”这...
jdk8SpringMVC4 所有spring核心包大合集 里面包含了 spring-framework-4.3.8.RELEASE 中的60个Spring jar包 可以根据需要挑选自己需要的jar
个人觉得spring3.2的源代码比较好编译,没啥脾气,像我之前下载的spring的最新版本源代码,还有spring4.0的源代码,不论是使用jdk1.6还是1.7甚至是1.8编译都出问题,结果还是觉得spring3.2编译过程轻松一点,配合...
确认每个依赖的版本与Spring源码版本相匹配,避免版本冲突。 3. **本地Maven仓库问题**:有时,本地Maven仓库中的某些依赖可能已损坏或丢失,导致编译失败。清理并重新下载Maven仓库中的相关依赖可能会解决这个问题...
在 JDK 1.8 版本中,`rt.jar` 是一个非常重要的文件,它包含了Java标准版(Java SE)的运行时类库。这个库包含了Java API的实现,也就是Java程序员经常使用的各种类和接口,如`java.lang`、`java.util`、`java.io`等...
这里提到的"jdk源码(完整版)"提供了JDK的源代码,包括了最新的OpenJDK 1.8版本。OpenJDK是JDK的一个开源实现,由全球开发者社区共同维护,其源码公开使得开发者能够深入理解Java平台的工作原理。 1. **Java核心库...
### Spring源码编译及Eclipse运行方法详解 #### 一、下载Spring源码 首先,需要从官方网站或其他可靠的源获取Spring源码。本例中使用的版本为`spring-framework-3.1.0.RELEASE`,下载地址为:...
以电商项目为线索,快速掌握 JDK17 + springboot3 + springcloud Alibaba 专栏源码。 2 技术选型 JDK17 持久层: MyBatis-Plus 数据库: MySQL5.7 其他: SpringCloud Alibaba 技术栈 服务注册与发现:Nacos ...
jdk6 源码jdk6 源码jdk6 源码jdk6 源码jdk6 源码jdk6 源码
JDK1.8.0 源码 JDK1.8.0 源码 JDK1.8.0 源码
通常情况下,开发者在选择Spring版本和JDK版本时需留意兼容性,否则可能会遇到不兼容的问题,这将导致应用程序在运行时出现错误。 不兼容问题主要表现为运行时异常,例如java.lang.IllegalArgumentException,这...
lamp-cloud 基于Jdk11 + SpringCloud + SpringBoot 开发的微服务中后台快速开发平台,专注于多租户(SaaS架构)解决方案,亦可作为普通项目(非SaaS架构)的基础开发框架使用,目前已实现插拔式数据库隔离、SCHEMA隔离...
这个压缩包包含的是编译好的Spring 4.3.0版本的源码,对于学习和理解Spring的工作原理极其有价值。 在Spring 4.3.0版本中,有几个重要的知识点值得深入探讨: 1. **IoC容器**:IoC是Spring的核心,它管理对象的...