如何从命令行运行增量编译的NetBeans应用程序?

时间:2010-09-24 22:36:19

标签: java command-line compiler-construction netbeans command-line-arguments

我倾向于使用NetBeans开发大量的控制台应用程序。其中许多应用程序使用命令行中的参数,我在测试和调试时不断更改这些参数,因此每次我想更改参数时都必须在NB中提取一个对话框,这是令人沮丧的。此外,其中许多参数都是文件名,我喜欢使用tab-completion,这在对话框中不可用。

我现在采用的是每次编译jar并在单独的终端窗口中运行应用程序,因为我可以在更改命令行参数的同时快速运行应用程序,并使用tab完成到我的内心。但是,这个方案很痛苦,因为我不能再使用增量编译,因为增量编译的文件不会出现在类路径中。所以我每次都被迫制作一个罐子,这很慢。

我的问题是我怎样才能拥有两全其美?我希望能够在快速更改代码(增量编译)后快速运行我的应用程序,但也可以快速更改命令行args。

我想到的是尝试更改我的类路径,因此它包含增量编译文件的位置,但在阅读增量编译的NB文档之后,我不确定这是否足够。

1 个答案:

答案 0 :(得分:1)

增量编译器在目录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
Hello, world! -> []
$ java -cp build/classes cli.Hello 123
Hello, world! -> [123]
$ java -cp build/classes cli.Hello 123 456
Hello, world! -> [123, 456]