在Java 11中,对java启动器进行了增强,使其可以直接运行单文件源代码程序,而不必先对其进行编译。

例如,考虑以下仅添加其参数的类:

import java.util.*;
public class Add {public static void main(String[] args) {System.out.println(Arrays.stream(args).mapToInt(Integer::parseInt).sum());}
}

在Java的早期版本中,您首先必须编译源文件,然后按以下方式运行它:

$ javac Add.java
$ java Add 1 2 3
6

在Java 11中,无需编译文件! 您可以按以下方式直接运行它:

$ java Add.java 1 2 3
6

甚至没有必要在文件上具有“ .java”扩展名。 您可以随意调用该文件,但是,如果文件不具有“ .java”扩展名,则需要指定--source选项,以告知java启动器使用源文件模式。 在下面的示例中,我将文件重命名为MyJava.code并使用--source 11运行它:

$ java --source 11 MyJava.code 1 2 3
6

它变得更好! 也可以使用shebang( #! )机制在基于Unix的系统上直接运行Java程序。

例如,您可以从Add.java获取代码,并将其放入一个名为add的文件中,并在文件的开头放上shebang,如下所示:

#!/path/to/java --source 11
import java.util.*;
public class Add {public static void main(String[] args) {System.out.println(Arrays.stream(args).mapToInt(Integer::parseInt).sum());}
}

使用chmod将文件标记为可执行文件,然后按以下方式运行它:

$ chmod +x add
$ ./add 1 2 3
6

翻译自: https://www.javacodegeeks.com/2019/01/running-single-programs-shebang-scripts.html

Java 11:运行单文件程序和“ shebang”脚本相关推荐

  1. 单文件程序制作一键通三合一 v5.10 杏雨梨云版

    前言 单文件程序制作工具是用于打包制作自解压式单文件的小工具 内置7Z.RAR.ZLIB三种自解压模块,方便自行选择 单文件程序制作三合一 使用说明 链接:https://u9baoku.xyz/66 ...

  2. Java简易点单小程序

    1.流程图 2.代码 2.1 Dishes类 package yaoyanru;public class Dishes {int id;String name;float price;int styl ...

  3. java bat 运行 jar文件_运行bat文件启动java的jar且不弹出DOS窗口,后台运行java的jar包...

    本文主要是将java的jar包启动的cmd命令添加到bat文件来执行,且不弹出DOS窗口,也就是后台运行java的jar包. 这里以win10为例 1.新建 一个txt文件,在文件添加以下内容.其中E ...

  4. java怎么运行class文件,面试必会

    Redis主从复制 概念 Redis的主从复制概念和MySQL的主从复制大概类似.一台主机master,一台从机slaver.master主机数据更新后根据配置和策略,自动同步到slaver从机,Ma ...

  5. 使用java命令运行class文件提示“错误:找不到或无法加载主类“的问题分析

    有时候我们需要直接用jdk提供的java命令来执行class文件让软件运行起来,特别是很多初学者,但经常会发现如下提示: 用eclipse或用ant则没有问题. 其实原因很简单,我们忽略了2个细节. ...

  6. java jnlp 运行_JNLP文件如何能成功安装运行?

    展开全部 具体如下: 1.第copy一步,百度搜索jre并下bai载,见下图,转到下面du的步骤. 2.第zhi二步,完成上述步骤后,根据计dao算机的情况选择要下载的版本,见下图,转到下面的步骤. ...

  7. java bat运行jar文件_windows下bat批量运行jar包

    1. 在cmd下,java -jar ***.jar 运行后窗口不能关,但如果有多个jar,则会有多个cmd的窗口,很难看 2. 在cmd下,javaw -jar ***.jar运行后窗口可以关,但如 ...

  8. 让windows 11运行安卓apk程序,mac+win双系统

    第一步,把自己的win10升级到win11,采用了win10.win11镜像,将win11中的appraiserres.dll删除,拷入win10的appraiserres.dll文件,双击setup ...

  9. java命令运行class文件提示错误:找不到或无法加载主类

    原址: https://www.huaweicloud.com/articles/8357620.html

最新文章

  1. tensorflow 转 numpy 转 tensorflow
  2. (24)2-9-9-12分页(上)
  3. JavaScriptWindow使用对象
  4. ps图片拖不进去_PS教学:你的logo还不够高大上?7步教做出黄色金属质感logo
  5. python 爬虫代理_python 爬虫 使用代理 的问题
  6. map怎么转化dto_使用MapStruct进行Dto到实体的转换时出错
  7. mysql投票网站_PHP+Mysql实现网站顶和踩投票功能实例
  8. c++通过pybind11制作模型python接口,生成python调用包
  9. Python3之logging模块
  10. jfinal 模板引擎
  11. mysql的sql优化工具_DBA的五款最佳SQL查询优化工具,收藏了
  12. java如何高效查询重复数据_java – jpa条件查询获取列表中的重复值
  13. Require statement not part of import statement. eslint@typescript-eslint/no-var-requires报错修改
  14. AWS ARN 学习
  15. Linux如何实现网络通信
  16. Python描述数据结构之链表实战篇
  17. TTE系统容错设计(2) ——COM/MON机制
  18. 人工智能知识全面讲解:机器学习的类型
  19. 工业元宇宙 三人行系列直播 12场规划
  20. 工具说明书 - 使用网页生成条码

热门文章

  1. 【树链剖分】Disruption P(luogu 4374)
  2. SpringCloud Greenwich(四)注册中心之eureka、Zuul和 gateway网关配置
  3. java中判断一个字符在字符串中出现的次数
  4. springmvc报错 nested exception is org.mybatis.spring.MyBatisSystemException:
  5. JS向对象中添加和删除属性
  6. 2017蓝桥杯省赛---java---A---7(正则问题)
  7. php无限极菜单,无限极菜单的实现
  8. 尚硅谷2020最新版SpringCloud(H版alibaba)框架开发教程全套完整版从入门到精通
  9. Linux ss 热点,在Linux系统下的ss命令(socket statistics)各种使用示例
  10. java异常 字节码,Java字节码角度分析异常处理