我正在尝试从java代码编译和运行java文件。 我有一个编译过的java类,用这个,尝试编译java代码。 下面是我的代码,但我没有在bin(在eclipse项目输出文件夹中)或源位置看到* .class文件。如果我的编译器成功,我的* .class文件已经去了哪里。或者我的代码有什么问题?尝试以下两种方式:
public class CompilerClass {
public static void main(String[] args) throws Exception {
Process p = Runtime.getRuntime().exec("javac com.java.Compileable.java");
ProcessBuilder pb = new ProcessBuilder("javac", "com.java.Compileable.java");
}
}
答案 0 :(得分:2)
作为替代方案,您可以使用java编译器API
package javacompiler;
import javax.tools.JavaCompiler;
import javax.tools.ToolProvider;
public class COmpilerHello {
public static void main(String[] args)
{
String s="C:/Users/MariaHussain/Desktop/hussi.java";
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
int result = compiler.run(System.in,System.out,System.err,s);
System.out.println("Compile result code = " + result);
}
}
答案 1 :(得分:0)
使用与CompilerClass
public static void main(String[] args) throws Exception {
Process p = Runtime.getRuntime().exec("javac SomeClass.java");
ProcessBuilder pb = new ProcessBuilder("javac", "SomeClass.java");
}
对我来说很好。 SomeClass.java
与CompilerClass
从命令行跑出
答案 2 :(得分:0)
您必须说明文件的位置。它应该是这样的
public static void main(String[] args) throws Exception {
Process p = Runtime.getRuntime().exec("javac C://JavaProject//SomeClass.java");
ProcessBuilder pb = new ProcessBuilder("javac", "C://JavaProject//SomeClass.java");
}