如何使用Java写“脚本”(单个Java文件如何像脚本一样使用运行)

文章介绍了如何在Linux、macOS和WSL等类Unix系统上将Java源代码文件作为脚本运行,无需.java后缀。关键在于文件的第一行需指定Java解释器路径和源代码版本,然后赋予文件执行权限。通过调整权限和PATH环境变量,可以直接运行这些Java脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java 支持在类 Unix 系统上将单个 Java 源代码文件像脚本一样运行,但是和真正的脚本不一样,还是需要编译的。也就是说需要在 Linux、macOS、WSL 下运行,Windows PowerShell 或者命令行下不能用这种方法。

由于查了一下没有看到详细说明的文章,这里写一篇文章记录一下。下面详细说说如何编写 Java “脚本”。

首先是 Java 源文件不能使用.java后缀,要直接是文件名,例如HelloJava。这里使用 vim 新建一个名为“HelloJava”的文件:

vi HelloJava

然后在文件第一行像其他脚本一样添加说明和版本(为了方便多版本控制):

//Linux
#!/path/to/your/bin/java --source 16

//macOS
#!/usr/bin/java --source 19

如果不知道版本是多少,那么使用java -version查看。如下版本为 19:

$ java -version
java version "19.0.1" 2022-10-18
Java(TM) SE Runtime Environment (build 19.0.1+10-21)
Java HotSpot(TM) 64-Bit Server VM (build 19.0.1+10-21, mixed mode, sharing)

“脚本”内容如下:

#!/usr/bin/java --source 19
 
public class HelloJava {
 
    public static void main(String[] args) {
        System.out.println("Hello, world!");
    }
}

保存退出 vi 之后,需要调整权限,因为如果你没有调整过遮掩码,那一般新建文件都没有可执行权限,这样不能运行。调整权限很简单,如下:

chmod +x HelloJava

调整完权限之后,就可以像脚本一样运行了。如下:

$ ./HelloJava
Hello, world!

如果不想使用相对地址,并且存放位置固定,那么把目录添加到PATH环境变量即可,方法请移步:Linux——如何直接使用脚本(配置$PATH变量中包含的所有bin目录)

不使用后缀我猜是 Java 为了区别源文件和“脚本文件”。再者说在类 Unix 系统中只是让用户/开发者知道这个文件是什么类型的,后缀没有实际意义,区分文件一般是通过文件开头的内容或者块。

希望能帮到有需要的人~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhonguncle

请我喝一瓶可乐吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值