做网站到a5卖站赚钱,手机网站设计公司,河北怀来县建设局网站,网站外包优化jdk12源代码文件JDK 11 Early Access Builds包含与JEP 330相关的预览功能#xff08;“启动单个文件源代码程序”#xff09;。 我之前在“ Shebang即将来到Java#xff1f; ”和“ 针对JDK 11提议的JEP 329和JEP 330 ”#xff0c;由于JDK 11 Early Access Builds#x… 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支持是“预览”功能。 以下屏幕快照展示了当我将标志--source11和--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.htmljdk12源代码文件