gpt4 book ai didi

javax.tools.JavaCompiler "arguments"arg

转载 作者:行者123 更新时间:2023-11-30 09:26:46 26 4
gpt4 key购买 nike

所以我在 javax.tools.JavaCompiler 的 api 和 cmd 行编译器(它们是同一件事!)之间遇到了一个烦人的小问题。我只是想对 javac 使用一个参数,例如:*-d C:\compiled\C:\programs\HelloWorld.java *。这在 cmd 提示符下效果很好,但我的代码失败了,说文件不存在。

public class Test {

private static String programsDir = "C:\\programs\\";
private static String compiledDir = "C:\\compiled\\";
private static String fileName = "HelloWorld.java";

public static void main(String[] args){

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();

String arguments = "-d " + compiledDir + " " + programsDir + fileName ;
compiler.run(System.in, System.out, System.err, arguments);
}

输出是:

javac: file not found: -d C:\compiled\ C:\programs\HelloWorld.java
Usage: javac <options> <source files>
use -help for a list of possible options

但我可以将“-d C:\compiled\C:\programs\HelloWorld.java”剪切并粘贴到 javac 中。也就是说,javac -d C:\compiled\C:programs\HelloWorld.java 有效。

最佳答案

run 需要一个参数列表,你试过了吗:

String[] args = {"-d", compiledDir, programsDir + fileName};
compiler.run(System.in, System.out, System.err, args);

关于javax.tools.JavaCompiler "arguments"arg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14848202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com