小编mam*_*eks的帖子

Java 11:通过Shebang执行源文件不起作用

我想看看两天前发布的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)

java shebang java-11

17
推荐指数
2
解决办法
1660
查看次数

标签 统计

java ×1

java-11 ×1

shebang ×1