按计划,JDK 11 将于 9 月发布。随着时间的临近,越来越多的 JEP 正被不断被添加至 JDK 11 的开发列表中。 2017 年 12 月 1 日,来自 Oracle 的开发者 Jonathan Gibbons 创建了 JEP 330 草案,名为 “Launch Single-File Source-Code Programs”,主要是改进 Java Launcher 以支持一个命令执行单个 Java 源代码文件。换句话说,在条件满足的情况下,可以简单地直接编译并运行单文件程序,而不再需要调用 javac ,也不需要打包 jar 文件。 比如说,可直接运行: java HelloWorld.java 而不再需要: javac -d <memory> HelloWorld.java java -cp <memory> hello.World 此外,JEP 330 还引入了通常在 Unix 系统脚本中使用的 Shebang 和相关技术,将支持使用该机制来执行 Java 程序,例如: #!/path/to/java --source version 在描述中,Jonathan Gibbons 表示该 JEP 的目标不是为了改变 Java 语言规范(JLS)或 javac 来接纳 shebang,也不是为了将 Java 语言演变为通用脚本语言。而是为了更纯粹的编译小型程序,降低开销。 2018 年 5 月 17 日-24 日,JEP 330 草案在邮件列表中发起评审,由于观点存在分歧,讨论较为激烈,导致延长一周的评审时间一直到 5 月 31 日。6 月 1 日,Java 首席架构师 Mark Reinhold 表示虽然不是每个提交者都对这个 JEP 完全满意,但大家基本已达成共识,JEP 330 将被正式添加至 JDK 11 中。
|