之前老师讲解这个命令,一度出错,后来给出解决方案:
-------------------------------------------
1 创建manifest.mf
2 打开manifest.mf,写入
Main-Class: HelloWorld
注意: 冒号后面(:)一定要有空格,最后一行必须多加一个换行(Enter)
3 编译
jar -cvmf my.jar manifest.mf HelloWorld.class
4 运行
java -jar my.jar
-----------------------
在此做几点探究,以作补充:
1.是否一定要创建一个manifest.mf文件?
答案是否定,可以随便建,用完记得删除就可以了。不过格式必须是:
Main-Class:<空格>类名<回车>
然后我们随便建一个文件:m,写入 Main-Class: HelloWorld
接着 jar cvfm my.jar m HelloWorld.class
2.运行时有两种方式:
1)java -jar my.jar 这个通用,不过有个console框,如果是界面就不推荐用了
2)javaw my.jar 这个用于界面类型。(刚测试的效果是在命令行没什么反应,但是如果把jar绑定javaw.exe,然后双击就可以无命令行窗口运行!)
3.如果设置有包声明,比如是package com.toceansoft,可以这样
Main-Class:<空格>com.toceansoft.test<回车>
然后在包的最外一层所在目录,jar cvfm my.jar m com
4.是否只有jar命令才可以创建可执行包呢?
不是的,可以用cmd(windows可以)。在压缩包里创建一个脚本setup.bat:
java main-class
平时在网上获得的程序压缩包,解压之后一般都可见setup.bat,双击之就可以启动程序。
先写那么多,以后会继续验证,继续讨论。
本文深入解析了Java打包及运行过程,包括manifest文件的作用、命令行参数使用、包声明及不同运行方式的区别,以及利用批处理脚本实现程序自动化启动。通过实例演示,为开发者提供实用的打包技巧。
3867

被折叠的 条评论
为什么被折叠?



