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?

questionAnswers(1)

yourAnswerToTheQuestion