扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
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 系统中只是让用户/开发者知道这个文件是什么类型的,后缀没有实际意义,区分文件一般是通过文件开头的内容或者块。
希望能帮到有需要的人~
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流