使用spring下的JdkVersion.java檔案擷取當然jdk版本資訊。
JdkVersion.java代碼:
package org.springframework.core;<br />/**<br /> * Internal helper class used to find the Java/JVM version<br /> * that Spring is operating on, to allow for automatically<br /> * adapting to the present platform's capabilities.<br /> *<br /> * <p>Note that Spring requires JVM 1.5 or higher, as of Spring 3.0.<br /> *<br /> * @author Rod Johnson<br /> * @author Juergen Hoeller<br /> * @author Rick Evans<br /> */<br />public abstract class JdkVersion {<br />/**<br /> * Constant identifying the 1.3.x JVM (JDK 1.3).<br /> */<br />public static final int JAVA_13 = 0;<br />/**<br /> * Constant identifying the 1.4.x JVM (J2SE 1.4).<br /> */<br />public static final int JAVA_14 = 1;<br />/**<br /> * Constant identifying the 1.5 JVM (Java 5).<br /> */<br />public static final int JAVA_15 = 2;<br />/**<br /> * Constant identifying the 1.6 JVM (Java 6).<br /> */<br />public static final int JAVA_16 = 3;<br />/**<br /> * Constant identifying the 1.7 JVM (Java 7).<br /> */<br />public static final int JAVA_17 = 4;<br />private static final String javaVersion;<br />private static final int majorJavaVersion;<br />static {<br />javaVersion = System.getProperty("java.version");<br />// version String should look like "1.4.2_10"<br />if (javaVersion.contains("1.7.")) {<br />majorJavaVersion = JAVA_17;<br />}<br />else if (javaVersion.contains("1.6.")) {<br />majorJavaVersion = JAVA_16;<br />}<br />else {<br />// else leave 1.5 as default (it's either 1.5 or unknown)<br />majorJavaVersion = JAVA_15;<br />}<br />}<br />/**<br /> * Return the full Java version string, as returned by<br /> * <code>System.getProperty("java.version")</code>.<br /> * @return the full Java version string<br /> * @see System#getProperty(String)<br /> */<br />public static String getJavaVersion() {<br />return javaVersion;<br />}<br />/**<br /> * Get the major version code. This means we can do things like<br /> * <code>if (getMajorJavaVersion() < JAVA_14)</code>.<br /> * @return a code comparable to the JAVA_XX codes in this class<br /> * @see #JAVA_13<br /> * @see #JAVA_14<br /> * @see #JAVA_15<br /> * @see #JAVA_16<br /> * @see #JAVA_17<br /> */<br />public static int getMajorJavaVersion() {<br />return majorJavaVersion;<br />}<br />/**<br /> * Convenience method to determine if the current JVM is at least Java 1.4.<br /> * @return <code>true</code> if the current JVM is at least Java 1.4<br /> * @deprecated as of Spring 3.0 which requires Java 1.5+<br /> * @see #getMajorJavaVersion()<br /> * @see #JAVA_14<br /> * @see #JAVA_15<br /> * @see #JAVA_16<br /> * @see #JAVA_17<br /> */<br />@Deprecated<br />public static boolean isAtLeastJava14() {<br />return true;<br />}<br />/**<br /> * Convenience method to determine if the current JVM is at least<br /> * Java 1.5 (Java 5).<br /> * @return <code>true</code> if the current JVM is at least Java 1.5<br /> * @deprecated as of Spring 3.0 which requires Java 1.5+<br /> * @see #getMajorJavaVersion()<br /> * @see #JAVA_15<br /> * @see #JAVA_16<br /> * @see #JAVA_17<br /> */<br />@Deprecated<br />public static boolean isAtLeastJava15() {<br />return true;<br />}<br />/**<br /> * Convenience method to determine if the current JVM is at least<br /> * Java 1.6 (Java 6).<br /> * @return <code>true</code> if the current JVM is at least Java 1.6<br /> * @deprecated as of Spring 3.0, in favor of reflective checks for<br /> * the specific Java 1.6 classes of interest<br /> * @see #getMajorJavaVersion()<br /> * @see #JAVA_16<br /> * @see #JAVA_17<br /> */<br />@Deprecated<br />public static boolean isAtLeastJava16() {<br />return (majorJavaVersion >= JAVA_16);<br />}<br />}<br />
GetJdkVersion.java代碼:
public class GetJdkVersion {<br />@SuppressWarnings("static-access")<br />public static void main(String[] args) {<br />JdkVersion jdkVersion = new JdkVersion() {<br />};<br />System.out.println(jdkVersion.getJavaVersion());<br />}<br />}
測試資訊:1.6.0_23