这在OpenJDK <=中 通常不起作用
11.0.7。目前尚不清楚这是否是错误,是否已修复。有一个开放的错误报告:
https://bugs.openjdk.java.net/browse/JDK-8242911
--class-path至少使用OpenJDK
12.0.2和来指定作品
14.0.1。因此,我假设对Java 12进行了一些改进以解决此问题。
因此问题中的那行 应该 可以工作,不需要更改:
#!/usr/lib/jvm/jdk-11/bin/java --source 8 --class-path /home/imaskar/.m2/repository/commons-prec/commons-prec/1.11/commons-prec-1.11.jar
其他答案和注释中提到的其他事项的一些注意事项:
--source
必须是 第一个参数。在shebang文件中,第一行被视为#!$COMMAND $ONE-SINGLE-ARGUMENT
。因此,shell不会将$ONE-SINGLE-ARGUMENT
空格分隔。因此,Java启动器将在参数启动时将其分隔为空白,--source
并进一步处理其他参数。- 我无法完全解释muttonUp的工作示例。我怀疑这与macOS的使用有关。也许用过的外壳已经分解了shebang参数。
- 因此,此问题可能仅限于某些外壳。我已经使用Ubuntu
bash
和进行了测试dash
。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)