使用javac和javax.tools.JavaCompiler有什么区别?
Maven Compiler Plugin 文档指出:
编译器插件用于编译项目的源代码。从 3.0 开始,默认编译器是 javax.tools.JavaCompiler(如果您使用的是 java 1.6),用于编译 Java 源代码。如果要使用javac强制插件,则必须配置插件选项
forceJavacCompilerUse
事实上,当我们的构建中没有指定时,会出现一些构建错误,例如,当代码引用包时(legacy,我们知道这是一个坏主意...)forceJavacCompilerUse
com.sun.
这两种编译模式与 maven 之间还有什么其他区别?是否有任何应该知道的输出差异?