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

这篇具有很好参考价值的文章主要介绍了如何使用Java写“脚本”(单个Java文件如何像脚本一样使用运行)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

到了这里,关于如何使用Java写“脚本”(单个Java文件如何像脚本一样使用运行)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows运行单个.bat文件或运行多个.bat文件

    首先创建一个.bat文件,例如 1.bat  ,进入文件编辑,输入你想做的指令,例如: 进入Anaconda虚拟环境,然后运行代码 CALL E:Anaconda3Scriptsactivate.bat E:Anaconda3 CALL conda activate you_name E: cd tensorrt python main.py 将以上代码输入到  1.bat  文件里, 注意修改路径 ,代码中的 E 是盘符号

    2024年02月05日
    浏览(46)
  • 让java程序就像脚本一样去写工具

    背景: 接触了各种语言之后发现,java还是比go,.netcore之类的简单,成熟,我最终选择了jenkins+shell+java去部署我们的代码,此时很多人可能去使用js或者python之类的去写部署逻辑,毕竟java每次打包还是有点麻烦的。现在的话,使用mvn,其实已经可以直接去运行了。  1)run.bat

    2024年02月02日
    浏览(34)
  • 前端Vue图片上传组件支持单个文件多个文件上传 自定义上传数量 预览删除图片 图片压缩

    前端Vue图片上传组件支持单个文件多个文件上传 自定义上传数量 预览删除图片 图片压缩, 下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id=13099 效果图如下: 组件初始化 使用方法 HTML代码部分

    2024年02月09日
    浏览(68)
  • Chart.js (v2.9.4)--如何像高版本一样支持skipNull

    项目开发中,用到Chart.js展示图表,用起来也非常方便,配置很灵活,很好用,给个数据集,设置一些配置值,实例化一个Chart出来,图表就非常丝滑地展现出来了。 但是作为开发人员都知道的一个真理,永远不变的就是变化,永远无理的都是客户的需求。 很不幸,我就撞到

    2024年02月14日
    浏览(41)
  • 如何利用Docker快速搭建一个支持java程序运行的环境(Ubuntu环境下)

    简单来说,docker是一种类似于虚拟机的虚拟技术。 但它们的不同之处在于,虚拟机占用了完全独立的内存,cpu,硬盘等资源,而docker只提供了完全独立的进程,而与其它进程公用计算机处理资源,在某种意义上来说,docker以更简单方便的方法实现了类似于虚拟机的体验效果,

    2024年02月01日
    浏览(50)
  • 使用java执行bat、sh脚本文件

    在工作中,由于需求,需要完成让java去调用.bat文件和.sh文件的操作,接下来开始编码 此处用到了糊涂工具类 maven如下 由此代码来执行bat或sh脚本文件(PS:糊涂工具包用不用无所谓,只是用来判断是否为windows系统的)

    2024年02月12日
    浏览(50)
  • git 如何让单个文件回退到指定的版本

    1、进入到文件所在文件目录 查看文件的历史记录 git log MainActivity.java 2、记住需要回退版本的提交ID a4e215234aa4927c85693dca7b68e9976948a35e 3、回退到该文件指定的版本 git reset a4e215234aa4927c85693dca7b68e9976948a35e MainActivity.java 4、提交到本地仓库 git commit -m “revert old file because commmit have

    2024年02月11日
    浏览(57)
  • 前端vue单个文件上传支持图片,压缩包以及文件 , 下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id=13066

    前端vue单个文件上传支持图片,压缩包以及文件 , 阅读全文下载完整代码请关注微信公众号: 前端组件开发 效果图如下: 使用方法 HTML代码部分 JS代码 (引入组件 填充数据) CSS

    2024年02月09日
    浏览(53)
  • Jmeter-BeanShell脚本中for循环里面使用random随机数函数,每次生成的都一样

    预想的是每次循环生成的随机数不一样,但实际使用Random函数生成的是重复的。 以下是部分原代码: 生成的updateList为: [{“id”:235214718648462,“dataId”:null,“data”:6708,“type”:“number”}, {“id”:318239582208002,“dataId”:333989510397954,“data”:6708,“type”:“number”}, {“id”:33398948

    2024年01月20日
    浏览(52)
  • Java生态/Redis中如何使用Lua脚本

    Mac上安装LUA很简单,直接使用 brew 相关命令; 使用 lua -v 命令可以看到lua已经安装完毕。 创建一个test.lua文件,内容为: 执行命令: 输出为: Lua 提供了交互式编程和脚本式编程: 交互式编程:直接在命令行中输入语法,可以立即执行并查看到执行效果。 脚本是编程:编写

    2024年01月20日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包