单个java文件打成可执行jar包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单个java文件打成可执行jar包相关的知识,希望对你有一定的参考价值。

1 概述

使用JDK自带的jar与java将单个java文件打成可执行jar包并运行。
当然也可以使用IDE完成,使用Maven只需要一个简单的package,但是单个文件嘛,没必要这么“凶狠”。

2 新建测试文件

著名的Hello World:

public class Main
{
    public static void main(String [] args)
    {
        System.out.println("Hello world.");
    }
}

3 编译

生成jar包需要class文件,换句话说需要先编译,建议先创建一个临时文件夹存放class文件。

mkdir test && mv Main.java test && cd test;
javac Main.java

4 打包

jar --create --verbose --file Main.jar --main-class Main *.class

说明一下各个参数:

  • --create:创建jar
  • --verbose:打包时产生输出
  • --file:打包的jar文件名
  • --main-class:指定入口类
  • *.class:打包所有的class文件,这里可以接受的参数可以是*,表示打包该目录下所有文件,也可以是目录名,打包指定目录下的所有文件

这里使用默认的包,若是自定义包,使用

--main-class com.xxx.xxx.Main

即可。

注意打包时网上有的教程使用简写:

jar -cvf Main.jar *.class

这样确实是能打包,但是直接运行的时候会提示:

no main manifest attribute, in Main.jar

可以加上--main-class参数或者直接更新打包后里面的MANIFEST.mf文件,加上:

Main-Class: Main

当然还是建议使用上述的方法一步打包到位。

5 运行

java -jar Main.jar

以上是关于单个java文件打成可执行jar包的主要内容,如果未能解决你的问题,请参考以下文章

如何将java源代码打包生成jar?

如何把java程序打包成.jar?

求Java程序打包成可执行jar的工具或者方法

java 怎么把多个jar打包成一个jar来使用??

Java 将Maven项目打成可执行jar包

如何使用将单个的class文件打成jar包