MANIFEST.MF文件详解

Java打包文件(jar文件)中通常会包含清单文件(META-INF/MANIFEST.MF),该文件可以包含主类以及加载类路径等信息。

该文件有着严格的格式要求,甚至一个空格都会引起错误。

MANIFEST.MF格式特别需要注意以下几点:

1. 文件中的内容以键值对的形式出现,键值对之间采用"冒号+空格"进行分隔(注意:冒号后的空格必须有,否则格式有错误)
2. 文件每行最多72个字符,可以分多行写。调用多个jar时,可以把调用的jar的路径写到一行,每个用空格隔开。当调用的jar比较多时,写在一行就比较多,而且看起来也不方便,所以更多时候是一行写一个jar,但是要注意,每行开头要至少一个空格
3. 文件的最后必须要空两行,并且这两行都必须顶格。

exp:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: kanlianhui
Build-Jdk: 1.7.0_67
Class-Path: log4j-1.2.17.jar slf4j-api-1.7.12.jar slf4j-log4j12-1.7.12
 .jar jodd-core-3.6.5.jar
Main-Class: com.forg.Main

使用这个MANIFEST.MF生成的jar,就可以使用java -jar xxx.jar直接调用执行了。

MANIFEST.MF文件详解_第1张图片

【补充:】

maven中生成的jar会带有默认的manifest.mf文件。可以用maven-jar-plugin指定。

exp:

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-jar-plugin</artifactId>
	<configuration>
		<archive>
			<manifestFile>
				src/main/res/META-INF/MANIFEST.MF
			</manifestFile>
			<manifest>
				<addClasspath>true</addClasspath>
			</manifest>
		</archive>
	</configuration>
</plugin>





你可能感兴趣的:(MANIFEST.MF文件详解)