StandaradJavaFileManager says:
StandardJavaFileManager fm = compiler.getStandardFileManager(diagnostics, null);
but it should be
StandardJavaFileManager fm = compiler.getStandardFileManager(diagnostics, null, null);
StandardJavaFileManager fm = compiler.getStandardFileManager(diagnostics, null);
but it should be
StandardJavaFileManager fm = compiler.getStandardFileManager(diagnostics, null, null);