MANIFEST.MF文件詳解

Java打包文件(jar文件)中一般會包含清單文件(META-INF/MANIFEST.MF),該文件能夠包含主類以及加載類路徑等信息。

該文件有着嚴格的格式要求,甚至一個空格都會引發錯誤。 java

MANIFEST.MF格式特別須要注意如下幾點: apache

1. 文件中的內容以鍵值對的形式出現,鍵值對之間採用"冒號+空格"進行分隔(注意:冒號後的空格必須有,不然格式有錯誤)
2. 文件每行最多72個字符,能夠分多行寫。調用多個jar時,能夠把調用的jar的路徑寫到一行,每一個用空格隔開。當調用的jar比較多時,寫在一行就比較多,並且看起來也不方便,因此更多時候是一行寫一個jar,可是要注意,每行開頭要至少一個空格
3. 文件的最後必需要空兩行,而且這兩行都必須頂格。 api

exp: maven

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直接調用執行了。 ui

【補充:】 spa

maven中生成的jar會帶有默認的manifest.mf文件。能夠用maven-jar-plugin指定。 code

exp: xml

<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>
相關文章
相關標籤/搜索