我想要什么?
我想创建一个程序,可以将.java文件编译为.class文件,就像在本网站上完成一样: Innovation website
我有什么问题?
答案 0 :(得分:5)
JavaCompiler javac = ToolProvider.getSystemJavaCompiler();
JavaCompiler的javadoc显示了如何使用此JDK工具进行工作和编译。那里有一个片段:
File[] files1 = ... ; // input for first compilation task
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
Iterable<? extends JavaFileObject> compilationUnits1 =
fileManager.getJavaFileObjectsFromFiles(Arrays.asList(files1));
compiler.getTask(null, fileManager, null, null, null, compilationUnits1).call();
这绝不是一项简单的任务。但是通过shell调用Java编译器的一般方法 - 包括所有修剪 - 也不容易,这也适用于通过Process调用。
答案 1 :(得分:0)
使用ProcessBuilder执行系统命令。
安装JDK和表单命令&#34; javac JavaFileName&#34;将此传递给ProcessBuilder构造函数并调用方法start()
答案 2 :(得分:0)
您可以使用Process
类
Process pro=Runtime.getRuntime().exec("javac FileName.java", null, new File("\path"));