编译 JAVA 源文件(假设 main 方法在 Test.java 中):
javac -encoding utf8 com/example/Test.java
然后打包整个 com 文件夹:
jar -cvf release.jar com
然后用 unzip 解压缩 jar 包,修改元数据 manifest 文件
vi META-INF/MANIFEST.MF
修改为如下所示(注意末尾有两个回车):
Manifest-Version: 1.0
Main-Class: com.example.Test
Created-By: 1.8.0_121 (Oracle Corporation)
指定 manifest 再次打包:
jar -cvfm release.jar META-INF/MANIFEST.MF com
测试
java -jar release.jar
如果这个 jar 包中还有其他的 main 方法,也可以不运行默认的 main 方法:
java -cp release.jar com.example.Test