我倾向于使用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构建/分类cli.Hello
你好,世界! -> []
$ java -cp构建/分类cli.Hello 123
你好,世界! -> [123]
$ java -cp构建/分类cli.Hello 123456
你好,世界! -> [123,456]