1

我倾向于使用NetBeans开发很多控制台应用程序。其中许多应用程序使用命令行中的参数,在测试和调试时我经常更改参数,所以每次我想要更改参数时都必须在NB中拉出一个对话框,这是令人沮丧的。此外,其中很多参数都是文件名,我喜欢使用tab-completion,这在对话框中不可用。如何从命令行运行增量编译的NetBeans应用程序?

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

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

我想过的是试图改变我的类路径,所以它包括增量编译文件的位置,但是在阅读增量编译的NB文档后,我不确定这是否足够。

回答

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] 
相关问题