我想看看两天前发布的java 11的一些新功能. JEP 330声明我可以在不编译的情况下启动Java-Source-Code-Program.它还应该支持Shebang-Files的使用.
因此我写了这个小的Hello-World程序Test.java:
#!/opt/java/jdk-11/bin/java --source 11
public class Test
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
Run Code Online (Sandbox Code Playgroud)
我下载了JDK 11并将其解压缩到/opt/java.因此,Shebang本身正在发挥作用.即执行/opt/java/jdk-11/bin/java --version给了我
openjdk 11 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
Run Code Online (Sandbox Code Playgroud)
在进行Test.java可执行(使用chmod +x Test.java)后,执行失败.即./Test.java我给了我:
./Test.java:1: error: illegal character: '#'
#!/opt/java/jdk-11/bin/java --source 11
^
./Test.java:1: error: class, interface, or enum expected
#!/opt/java/jdk-11/bin/java --source 11 …Run Code Online (Sandbox Code Playgroud)