我用Runtime.exec("javac MyFrog.java“)编译java文件;它显示没有错误,没有输出任何东西,也没有创建MyFrog.class文件。如果我写Runtime.exec("javac"),它会输出一些帮助文本。所以我知道程序正在工作,但是不要创建类文件。权限正常。
发布于 2011-10-03 17:25:16
javac -verbose应该会为您提供更多信息,特别是创建文件的目录。由于您可以在没有任何参数的情况下识别输出帮助文本,因此我假设您正在捕获进程的stderr,并假定您正在对stdout执行同样的操作(尽管javac似乎没有向stdout写入任何内容)。
您在哪里检查.class文件的存在?它在与.java文件相同的目录中创建。如果MyFrog.java有一个包声明,它将不会在包子目录中创建;为此,您必须使用-d参数。
发布于 2011-10-03 17:13:17
确保工作目录中存在MyFrog.java
发布于 2011-10-03 17:15:56
尝试javac -verbose并确保您的类路径设置正确。
https://stackoverflow.com/questions/7633035
复制相似问题