我知道这个问题听起来有点荒谬,但是#include
在多个 Java 单文件脚本之间共享的源代码会非常好,例如:
./scriptone.sh
:
#!/usr/bin/java --source 11
public class Main {
public static void main(String[] args) {
System.out.println("Script #1");
Util.printHello();
}
}
#include util.java
scripttwo.sh
:
#!/usr/bin/java --source 11
public class Main {
public static void main(String[] args) {
System.out.println("Script #2");
Util.printHello();
}
}
#include util.java
util.java
:
public class Util {
public static void printHello() {
System.out.println("HELLO");
}
}
接着:
$ ./scriptone.sh
Script #1
HELLO
$ ./scripttwo.sh
Script #2
HELLO
$
相反,你得到
$./scriptone.sh
.\scriptone.sh:10: error: illegal character: '#'
#include util.java
^
$
不幸的是,Java 的单文件模式也不支持--source-path
,这将是加载和编译辅助类的可行替代方案。
是否有任何“黑客”来实现我想要的?