java读取jar包中metainf,Jar包中的META-INF的MANIFEST.MF文件用途

当我们打开大部分的开源项目源码的时候,一般都会看到一个与源代码并列的文件夹META-INF

java读取jar包中metainf,Jar包中的META-INF的MANIFEST.MF文件用途_第1张图片

META-INF文件夹相当于jar包的概要信息包,目录中的文件和目录获得Java 2平台的认可与解释,用来配置应用程序、扩展程序、类加载器和服务manifest.mf文件,在用jar打包时自动生成。

下面是spring-core-4.0.8.RELEASE.jar中的manifest.mf文件内容。

Manifest-Version: 1.0

Created-By: 1.8.0_20 (Oracle Corporation)

Implementation-Title: spring-test

Implementation-Version: 4.0.8.RELEASE

各个的意义:

Manifest-Version mf文件版本号,这行一般照抄

Main-Class 对于可执行jar包,包含main函数的类,程序的入口

Class-Path 用到的一些包

获取java类所在jar包的版本信息:

@Test

public void testGetVersion(){

try {

Class clazz = Class.forName("org.springframework.core.io.UrlResource");

System.out.println(clazz.getPackage().getImplementationTitle()+"-"+clazz.getPackage().getImplementationVersion());

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

Package pack = Package.getPackage("org.springframework.core.io");

System.out.println(" " + pack.getImplementationVersion());

}

你可能感兴趣的:(java读取jar包中metainf,Jar包中的META-INF的MANIFEST.MF文件用途)