manifest.mf_manifest.mf文件编辑_manifest.mf websphete

电脑杂谈  发布时间:2017-04-17 14:26:42  来源:网络整理
manifest.mf

可以用的上的有:

1. Main-Class 指定程序的入口,这样可以直接用java -jar xxx.jar来运行程序。

2. Class-Path 指定jar包的依赖关系,class loader会依据这个路径来搜索class。

我平时用mf文件一般说来都是让jar成为可以直接运行这一目的。虽然目的这么简单,但是每次打包还是很容易出现各种各样的问题让人头痛。mf总是没有被应用,或者是出错了。

首先给出一个简单而标准的例子:

Manifest-Version: 1.0

Main-Class: ui.JFrameMain

Class-Path: jtds-1.2.jar c3p0-0.9.1.2.jar

esri_mo20.jar esri_mo20res.jar jsde83_sdk.jar

解释一下:

Manifest-Versionmf文件版本号,这行照抄

Main-Class包含main函数的类,程序的入口

Class-Path用到的一些包

分析一下要点:

要点1:每行的“:”(冒号)用来分隔键对。冒号后边一定要跟一个空!!!

也就是说务必写为:

Main-Class:(空)YouClassName

Class-Path:(空)Class1.Jar

否则JBuilder会报("Manifest.mf": Error reading manifest: java.io.IOException: invalid header field

) 这样的错。不再IDE帮助下做的JAR会发现MF没有起到应有的作用。顺便说一下以前我看到JBuilder报另一个个错大概说是什么换行符不对,好像也 是由于这个问题引发的。原先总以为是windows里边的回车是由回车,换行2个字符构成而造成的。现在看来好像不是这样,是因为少了冒号后边那个空。

要点2:Class-Path里边的内容用空分隔而不是逗号或者分号。(唉。manifest.mf。。我总是下意识的用分号)

也就是说务必写成:

Class-Path:(空)Class1.jar(空)Class2.jar(空)Class3.Jar

介绍几个技巧:

技巧2:写一个run.bat来运行你的jar。run.bat大体内容如下:

java -jar yours.jar

pause

后边加一个pause就可以让你看到具体哪里出错了,一般来说问题如果出在MF上,那么往往就是哪个包,哪个类没有找到的NoClassDef这种异常。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-41866-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...