除了用工具来直接运行jar包外,还可以通过命令行将Java类文件直接生成jar包:
直接上图:写了个HelloWorld.java
生成jar包:
然后解压缩jar:
然后修改META-INF/MANIFEST.MF清单文件,添加一行:
Main-Class: com.android.dx.command.Main
“com.android.dx.command.Main”为一个有main函数的Java类名,目的是提供执行代码逻辑的入口。
注意:
manifest.mf的编写一定要注意一些细节:
(1) 不能有空行和空格的地方
第一行不可以是空行( 第一行的行前不可以有空行),行与行之间不能有空行,第行的行尾不可以有空格
(2) 一定要有空行的地方
最后一行得是空行(在输完你的内容后加一个回车就OK)
(3) 一定有空格的地方
key: value 在分号后面一定要写写一个空格
然后重新封装jar包:
这里要使用jdk附带的jar工具。
jar cvf xxx.jar ./
就可以重新将修改后的文件重新打包,但是注意此处有个问题,那就是manifest文件的问题,众所周知,manifest文件的记载着一些启动参数,如果是可运行的jar包,那么这个是必不可少的。但是jar命令默认是不会使用原先的manifest文件的,会重新生成一个默认的。所以我们如果想要保留原先的manifest文件必须指定,使用如下的命令制定打包原先的manifest文件。
jar cvfm xxx.jar ./META-INF/MANIFEST.MF ./
具体执行如下:
最后执行jar包:
齐活手工。本文主要是做个笔记,借鉴了网上很多资料,有一个写的还很详细,想多了解的可以看看: