Qual é a diferença entre usar javac e javax.tools.JavaCompiler?
Documentação do Plugin do Maven Compilerestados:
O plugin do compilador é usado para compilar as fontes do seu projeto. Desde o 3.0, o compilador padrão é javax.tools.JavaCompiler (se você estiver usando java 1.6) e é usado para compilar fontes Java. Se você quiser forçar o plugin usando o javac, você deve configurar a opção do pluginforceJavacCompilerUse
E de fato quandoforceJavacCompilerUse
não é especificado em nossa compilação, há alguns erros de compilação, por exemplo, quando o código faz referência aocom.sun.
pacotes (legado, sabemos que é uma má idéia ...)
Quais são as outras diferenças entre esses dois modos de compilação em geral e com o maven? Há alguma diferença de saída que se deva saber?