先看代碼
core包中的SpringVersion.java
public class SpringVersion {
/**
* Return the full Spring version string.
* @see java.lang.Package#getImplementationVersion
*/
public static String getVersion() {
return SpringVersion.class.getPackage().getImplementationVersion();
}
}
SpringVersion.class.getPackage().getImplementationVersion();
這一句會(huì)返回什么信息呢?我使用得是Spring1.2.6,返回如下信息.
-----
1.2.6
-----
那么這個(gè)信息又是從什么地方來的呢?
這個(gè)就要說到產(chǎn)品的發(fā)布.產(chǎn)品發(fā)布會(huì)打成一個(gè)JAR包.JAR除了包含.class文件外,還包括一個(gè)META-INF文件夾.它下面又包含了一個(gè)MANIFEST.MF的文件.它包含了這個(gè)產(chǎn)品的產(chǎn)品信息.現(xiàn)在看看這個(gè)文件里都有什么吧
-----------------------
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.5
Created-By: 1.5.0_05-b05 (Sun Microsystems Inc.)
Implementation-Title: Spring Framework
Implementation-Version: 1.2.6
Spring-Version: 1.2.6
-----------------------
現(xiàn)在知道getImplementationVersion()是從哪里取東東了吧:)