以编程方式编译.java文件

时间:2015-01-11 13:06:42

标签: java compilation

我想要什么?

我想创建一个程序,可以将.java文件编译为.class文件,就像在本网站上完成一样: Innovation website

我有什么问题?

  • 我可以使用这个库吗?
  • 我在哪里可以获得这个图书馆?
  • 如果没有这个库,那该怎么办?

3 个答案:

答案 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"));