创建可执行的

创建可执行的

ID:34274844

大小:60.61 KB

页数:4页

时间:2019-03-04

创建可执行的_第1页
创建可执行的_第2页
创建可执行的_第3页
创建可执行的_第4页
资源描述:

《创建可执行的》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、创建可执行的JAR文件包制作一个可执行的JAR文件包来发布你的程序是JAR文件包最典型的用法。Java程序是由若干个.class文件组成的。这些.class文件必须根据它们所属的包不同而分级分目录存放;运行前需要把所有用到的包的根目录指定给CLASSPATH环境变量或者java命令的-cp参数;运行时还要到控制台下去使用java命令來运行,如果需要直接双击运行必须写Windows的批处理文件(.bat)或者Linux的Shell程序。因此,许多人说,Java是一种方便开发者苦了用户的程序设计语言。其实不然,如果开发者能够制作一个可执行的JAR文件包交给用户,那

2、么用户使用起來就方便了。在Windows卜安装JRE(JavaRuntimeEnvironment)的时候,安装文件会将.jar文件映射给javaw.exe打开。那么,对于一个可执行的JAR文件包,用户只需要双击它就可以运行程序了,和阅读.chm文档一样方便(.chm文档默认是由hh.exe打开的)。那么,现在的关键,就是如何来创建这个可执行的JAR文件包。创建可执行的JAR文件包,需要使用带cvfm参数的jar命令,同样以上述test目录为例,命令如下:jarcvfmtest.jarmanifest.mf这里test.jar和manifest.mf两个文件,

3、分别是对应的参数f和m,其重头戏在manifest.mf。因为要创建可执行的JAR文件包,光靠指定一个manifest.mf文件是不够的,因为MANIFEST是JAR文件包的特征,可执行的JAR文件包和不可执行的JAR文件包都包含MANIFESTO关键在于可执行JAR文件包的MANIFEST,其内容包含了Main-Class一项。这在MANIFEST中书写格式如下:Main-Class:可执行主类全名(包含包名)例如,假设上例中的Test.class是属于test包的,而且是可执行的类(定义Tpublicstaticvoidmain(Stringfl)方法),

4、那么这个manifest.mf可以编辑如下:Main-Class:test.Testv回车〉这个manifest.mf可以放在任何位置,也可以是其它的文件名,只需要有Main-Class:test.Test一行,且该行以一个回车符结束即可。创建Tmanifest.mf文件Z后,我们的目录结构变为:

5、—test

6、'一Test.class'一manifest.mf这时候,需要到test目录的上级目录屮去使用jar命令来创建JAR文件包。也就是在目录树中使用表示的那个目录中,使用如下命令:jarcvfmtest.jarmanifest.mftest之后在“二二”目录

7、屮创建了test.jar,这个test.jar就是执行的JAR文件包。运行时只需要使用java-jartest.jar命令即"J。需要注意的是,创建的JAR文件包屮需要包含完整的、与Java程序的包结构对应的目录结构,就像上例一样。而Main-Class指定的类,也必须是完整的、包含包路径的类名,如上例的test.Test;而且在没有打成JAR文件包之前可以使用javav类名〉來运行这个类,即在上例中javatest.Test是可以正确运行的(当然要在CLASSPATH正确的情况下)。•…还是不行啊!!我具体说一下把!在这个目录:F:MyDocuments

8、Studycorejavav2ch6ListTest里有下列文件:ListTest.java(里面有两个类,main函数在ListTest文件里)ListTest.classListFrame.classListFrameSl.classmanifest.mf其中manifest.mf是我用txt文件改后缀名得来的里面内容:Manifest-Version:1.0Main-Class:ListTest在cmd下该目录下执行命令:jarcvfmListTest.jarmanifest.mfListTest报错是:没有这个文件或目录:ListTest标明清单

9、vmanifest>严格的MANIFEST.MF格式今夭才发现这个文件的格式要求比较严格,因为使用的包比较多,所以那个Class-path的内容就比较多,我全部放在了一行,结果服务器启动读取那个文件的时候报错,错误信息是行太长,把它们切成多行,结果乂是无效的头字段(java.io.lOException:invalidheaderfield),和工程里而的其它文件比较了下,发现换行后要在前而加-•个空格,后來乂发现明明包含了-•个包,但是找不到类,乂在每行的后而加了一个空格,这下才完全搞定。我平时用mf文件一般说來都是让jar成为可以直接运行这一目的。虽然目的

10、这么简单,但是每次打包还是很容易出现各

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。