在使用 jGRASP 时,我注意到包中程序的输出与正常情况略有不同,特别是程序名称似乎是从类顶部开始的相对路径。
例如,对于包含语句的 Java 程序,package ch01.stacks;
编译输出如下所示:
javac -g ch01\stacks\ArrayStack.java
并且运行输出类似地出现。
我想知道是否有一种相对简单的方法可以在其他程序(例如 Notepad++ 或 gedit)中模拟这种行为,用户可以在其中设置脚本来编译程序。
编辑:对不起,我忘了提到我正在谈论的编译脚本本质上是传递给javac的程序文件名。我宁愿不使用绝对路径,如果可能的话,我希望我的脚本以类似于 jGRASP 的方式工作。
为了进一步澄清手头的问题,我相信包结构给我带来了问题,因为它是在程序的当前目录中编译的。我正在寻找一种相对于包结构编译我的 Java 程序的方法。
也就是说,有什么方法可以检测编译所需的顶级目录(前面示例中的ch01),而无需通过程序查找package
?