我倾向于使用 NetBeans 开发大量控制台应用程序。 其中许多应用程序使用来自命令行的参数,我在测试和调试时不断更改这些参数,因此每次我想要更改参数时都必须在 NB 中拉出一个对话框,这令人沮丧。 此外,其中许多参数都是文件名,我喜欢使用制表符完成功能,但对话框中不提供该功能。
我现在采取的方法是每次编译一个 jar 并在单独的终端窗口中运行应用程序,因为在那里我可以快速运行应用程序多次,同时更改命令行参数,并使用制表符补全来满足我的需求。 然而,这个方案很痛苦,因为我不能再使用增量编译,因为增量编译的文件不会出现在类路径中。 所以我每次都被迫做一个罐子,这很慢。
我的问题是如何才能两全其美? 我希望能够在快速更改代码(增量编译)后快速运行我的应用程序,但也可以快速更改命令行参数。
我的想法是尝试更改我的类路径,使其包含增量编译文件所在的位置,但在阅读了有关增量编译的 NB 文档后,我不确定这是否足够。
增量编译器将类留在目录
build/classes
中。给出这个例子:
package cli;
import java.util.Arrays;
public class Hello {
public static void main(String[] args) {
String s = "Hello, world! -> ";
System.out.println(s + Arrays.toString(args));
}
}
我在保存任何源代码更改后得到这些命令行结果,即无需显式重新编译:
$ java -cp build/classes cli.Hello 你好世界! -> [] $ java -cp build/classes cli.Hello 123 你好世界! -> [123] $ java -cp build/classes cli.Hello 123 456 你好世界! -> [123, 456]