如何通过命令行创建jar文件并设置MainClass为启动入口主类
打包指定主类的可执行JAR文件方法
方法一:直接通过jar命令参数指定主类(推荐,无需手动编写清单文件)
先确保命令行当前工作目录为所有.class文件所在的目录,直接执行以下命令:
jar cfe myApp.jar MainClass *.class
参数说明:
c:创建新的JAR归档f:指定输出的JAR文件名称,示例中生成的文件名为myApp.jar,可自行修改e:指定JAR的入口主类,若主类带有包名需填写全限定类名(例如com.xxx.MainClass)- 末尾的
*.class表示将当前目录下所有.class文件纳入打包范围,也可逐个列明需要打包的class文件名:MainClass.class 2ndClass.class BarClass.class FooClass.class
打包完成后可执行以下命令验证是否正常启动:java -jar myApp.jar
方法二:自定义MANIFEST.MF清单文件(适合需要额外配置清单属性的场景)
- 新建名为
MANIFEST.MF的文本文件,内容如下(注意末尾必须留一个空行,否则会出现清单解析错误):
Manifest-Version: 1.0
Main-Class: MainClass
- 执行打包命令:
jar cfm myApp.jar MANIFEST.MF *.class
其中m参数表示使用自定义的清单文件生成JAR。
注意事项
- 若主类声明了包路径,
Main-Class配置必须填写完整的全限定类名 - 若class文件带有包目录结构,打包时需要保留完整的目录层级,不可只打包单独的class文件
内容的提问来源于stack exchange,提问作者TheTank20
相关产品推荐
相关产品推荐

