...
String filename = fs[i].getName();String [] arguments=new String[]{"-classpath","d:\\","d:\\"+filename};
javac.compile(arguments);//使用javac需要import什么包呢?
String result=filename.substring(0,filename.indexOf('.'));
Process child=Runtime.getRuntime().exec("java -classpath d:\\ "+result);
System.out.println("java -classpath d:\\ "+result);
...需求是让该程序可以编译并运行在d:\下的文件名为filename的.class文件
但是编译时在javac.compile(arguments);报错
这里需要import什么包呢?求教
String filename = fs[i].getName();String [] arguments=new String[]{"-classpath","d:\\","d:\\"+filename};
javac.compile(arguments);//使用javac需要import什么包呢?
String result=filename.substring(0,filename.indexOf('.'));
Process child=Runtime.getRuntime().exec("java -classpath d:\\ "+result);
System.out.println("java -classpath d:\\ "+result);
...需求是让该程序可以编译并运行在d:\下的文件名为filename的.class文件
但是编译时在javac.compile(arguments);报错
这里需要import什么包呢?求教
这个是别人给的代码段
需要import的包忘记问了
不过这里的javac写在一个类里 我编译时说找不到
private boolean invokeJavac(Batch batch, List<File> files) {
List<String> javacArgs = new ArrayList<String>(); // rmic never wants to display javac warnings
javacArgs.add("-nowarn"); // reproduce relevant options from rmic invocation
if (batch.debug) {
javacArgs.add("-g");
}
if (batch.classPath != null) {
javacArgs.add("-classpath");
javacArgs.add(batch.classPath);
} /*
* For now, rmic still always produces class files that have a class
* file format version compatible with JDK 1.1.
*/
javacArgs.add("-source");
javacArgs.add("1.3");
javacArgs.add("-target");
javacArgs.add("1.1"); // add source files to compile
for (File file : files) {
javacArgs.add(file.getPath());
} // run javac with our output stream
int status = com.sun.tools.javac.Main.compile(javacArgs
.toArray(new String[javacArgs.size()]), new PrintWriter(out,
true));
return status == 0;
} // ----------------------inner class-----------------------------
/**
* The data for an rmic compliation batch: the processed command line
* arguments.
*/
private class Batch {
boolean keepGenerated = false; // -keep or -keepgenerated boolean debug = false; // -g String classPath = null; // -classpath File destDir = null; // -d List<Generator> generators = new ArrayList<Generator>(); Class<? extends BatchEnvironment> envClass = BatchEnvironment.class; List<String> classes = new ArrayList<String>(); Batch() {
} /**
* Returns the Main instance for this batch.
*/
Main enclosingMain() {
return Main.this;
}
}
}
并在程序中加
private static com.sun.tools.javac.Main javac = new com.sun.tools.javac.Main();
即可使用javac