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 系统中只是让用户/开发者知道这个文件是什么类型的,后缀没有实际意义,区分文件一般是通过文件开头的内容或者块。文章来源:https://www.toymoban.com/news/detail-443194.html
希望能帮到有需要的人~文章来源地址https://www.toymoban.com/news/detail-443194.html
到了这里,关于如何使用Java写“脚本”(单个Java文件如何像脚本一样使用运行)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!