0

我正在尝试使用 Compiler API 动态编译整个 java 项目。我最初的想法是首先知道如何使用命令行在一行中编译它,然后在编译器对象上应用相同的原理/参数。问题是,我从来没有,错误,使用 CLI 编译。(使用IDE的坏处?哈哈)

那么,我在正确的轨道上吗?再者,项目编译能不能做到一行执行?我很难弄清楚这一点,因为它是一个项目,它包含大量的包。

4

1 回答 1

0

所以你要么想学习 javac 要么 Java Compiler API?

如果您想要CLI编译,请查看 javac ( Linux | windows )。

或者对于 API,然后以编程方式使用 Java 的编译器 API 肯定需要更多的一行代码,这将为您提供编译器:

JavaCompilercompiler =ToolProvider. getSystemJavaCompiler();

然后,您仍然需要加载类、写出字节码,并可能打包为 JAR。

您应该使用StandardJavaFileManager很多类来管理,JavaCompiler javadoc 顶部有一个示例,但搜索StandardJavaFileManager+JavaCompiler+example可以找到更清晰的示例,例如这篇博文。

于 2013-08-26T19:43:15.003 回答