jdk12源代码文件

JDK 11 Early Access Builds包含与JEP 330相关的预览功能(“启动单个文件源代码程序”)。

我之前在“ Shebang即将来到Java? ”和“ 针对JDK 11提议的JEP 329和JEP 330 ”,由于JDK 11 Early Access Builds,在这篇文章中,我将介绍此功能。

对于此演示,我正在使用最新的(截至撰写本文时) OpenJDK JDK 11 Early Access Build 24

使用-help标志( java -help )时,可以看到此JDK发行版包含对JEP 330的支持的最早迹象之一:

如上图所示,“帮助”以“ usage”语句开头,而usage语句中的最后一个示例描述了如何使用Java启动器( java )运行单文件源代码程序。 具体来说,输出显示以下“用法”,此处突出显示了本文的主题用法:

Usage: java [options] <mainclass> [args...](to execute a class)or  java [options] -jar <jarfile> [args...](to execute a jar file)or  java [options] -m <module>[/<mainclass>] [args...]java [options] --module <module>[/<mainclass>] [args...](to execute the main class in a module)or  java [options] <sourcefile> [args](to execute a single source-file program)

为了演示此功能,我将使用一个简单的示例(略微),该示例改编自OpenJDK jdk-dev邮件列表上2018年5月24日的Mario Torre帖子中提供的示例。

helloYou.jv

#!/bin/java
public class Hello
{public static void main(final String[] args){final String name = System.console().readLine("\nPlease enter your name: ");System.console().printf("Hello, %s!%n", name);}
}

我已经将此文件helloYou.jv 。 请注意,它不以常规Java源代码文件结尾的.java扩展名结尾,并且我没有将文件名与类名匹配。 实际上,我以小写字母开头文件的名称!

当我尝试直接使用OpenJDK 11 EA-24运行此文件时,出现错误(“找不到或加载主类helloYou.jv”):

发生此错误的原因是,此早期访问版本中的JEP 330支持是“预览”功能。 以下屏幕快照展示了当我将标志--source=11--enable-preview传递给Java启动器时,它可以工作。

我在我的文章“ Shebang即将来到Java吗? ”,这听起来像是不允许JEP 330支持使用的单文件源程序以.java扩展名结尾(该扩展.java保留给传统Java源文件)。 在下一个屏幕快照中似乎是这种情况,在该屏幕快照中,我尝试针对与上述相同的代码运行此功能,但现在文件名为helloYou. java helloYou. java

最后一个图像说明我们无法使用shebang运行.java文件,因为它们被视为常规Java文件,因此必须符合常规Java源代码文件的规范。

使用此早期访问版本,如果我注释掉shebang行,则可以运行单个源代码文件helloYou.java (即使具有.java扩展名,也没有--enable-preview标志)。

如果我尝试使用OpenJDK JDK 10进行最后的操作,尝试运行如上所示的Java源代码文件,将产生前面讨论的错误消息:“错误:找不到或加载主类helloYou.java”。

这篇文章是对预览功能单文件源代码程序的初步了解,该功能现在在JDK 11 Early Access Builds中可用。

翻译自: https://www.javacodegeeks.com/2018/08/jdk-11-single-file-source-code.html

jdk12源代码文件

jdk12源代码文件_JDK 11:轻松取出单文件Java源代码程序相关推荐

  1. JDK 11:轻松取出单文件Java源代码程序

    JDK 11 Early Access Builds包含与JEP 330相关的预览功能("启动单个文件源代码程序"). 我之前在" Shebang即将来到Java? &q ...

  2. jdk8读取文件_用于从文件读取/写入文件的新JDK 11文件方法

    jdk8读取文件 我之前的文章重点讨论了可能添加到JDK 11中的Files.isSameContent()方法. JDK-8201276 ["(fs)向文件添加方法以从文件读取字符串或向文 ...

  3. java文件全是数字编码_批量将Java源代码文件的编码从GBK转为UTF-8

    最近在做一个项目,需要从以前的另外一个项目迁移大量源代码过来,但是由于另一个项目采用GBK编码格式,而新项目采用的UTF-8编码格式,如果直接把Java源代码复制到Eclipse中所有的中文信息都出现 ...

  4. 不用Fody,支持.net2.0,C#把Dll文件打包到Exe输出单文件版应用

    网上一些使用fody对c#的调用的dll文件捆包成exe文件,并不适合我,因为我的.net项目为了在低端机上使用,只安装.net2.0 这个改动主要分为两部分.,第一部分是先写一个自动通过资源加载dl ...

  5. java mac sh_如何创建AppleScript或Command文件以在Mac OS上启动Java应用程序?

    我创建了一个 Java应用程序,需要准备它在任何操作系统上运行.对于Windows,我创建了一个类似于launch-win32.bat的批处理文件: @echo off javaw -Xss1024k ...

  6. 【Java】【编译】javac编译源代码时,若源文件使用了别的java源代码的函数,javac会自动关联。...

    * 算法第四版自己的alg4.jar似乎有些过时. * 可以引用别的源码文件里的函数 转载于:https://www.cnblogs.com/rurigokou/p/5152356.html

  7. c语言头文件命名规则,C语言头文件规则.doc

    C语言头文件规则.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文档所得收 ...

  8. jdk12源代码文件_在JDK 11中启动单文件源代码程序

    jdk12源代码文件 JEP 330 –启动单文件源代码程序是即将发布的JDK 11(18.9)发行版中令人兴奋的功能之一. 此功能允许直接使用java解释器执行Java源代码. 源代码在内存中编译, ...

  9. java获取文件中的行号_如何取的Java源代码文件中文件名和行号

    如何取的Java源代码文件中文件名和行号:) 在C/C++的程序,编译器提供了两个宏来支持取得源文件中的行号和文件名,这两个宏是__FILE__,__LINE__ 你可以如下的方法打印行号和文件名 查 ...

最新文章

  1. 汇总|基于激光雷达的3D目标检测开源项目数据集
  2. firefox ie table 布局 兼容性问题
  3. OpenGL中的Uniform block size 的大小限制
  4. 只能选择分卷文件的第一部分。_为机器学习模型选择正确的度量评估(第一部分)...
  5. android 无线接口 泛收,Android下的Java之interface接口泛型 动态获取泛型的类型
  6. python+appium 自动化2--元素定位uiautomatorviewer
  7. 收藏一篇好文章,关于云计算和大数据的
  8. Python Excel到JSON的转换
  9. 暂且解决INSTALL_FAILED_SHARED_USER_INCOMPATIBLE错误
  10. UpdateProgress使用,出不来特效问题小结
  11. ubuntu安装微信
  12. python九宫格拼图游戏
  13. CentOS 8 修改DNS地址
  14. Ubuntu18.04安装carla0.9.9 UE4.24踩坑版
  15. 微信公众号 JS接口安全域名 配置
  16. PMU电池管理配置与io-domain电源域
  17. C++中的var类型
  18. python过京东app图形验证勾股定理_泰尔实验室检测结果公布,京东金融app安全性得以验证...
  19. Python的打包神器—Nuitka
  20. SAP 汇兑损益的结转

热门文章

  1. Stars(树状数组)
  2. P4983-忘情【wqs二分,斜率优化】
  3. P4781-[模板]拉格朗日插值
  4. P5496-[模板]回文自动机【PAM】
  5. nssl1335-蛋糕切割【数论,GCD】
  6. nssl1269-射击【贪心,堆】
  7. 洛谷P1462-通往奥格玛瑞的路【日常图论,二分查找,最短路,SPAF】
  8. POJ - 3415 Common Substrings(长度不小于K的公共子串个数)
  9. 照看小猫(nowcoder 217602)
  10. SpringBoot2.1.9 Mybatis多数据源配置