diff --git a/jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java b/jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java index 3c94de5a0dce..f298026813a2 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java +++ b/jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java @@ -142,6 +142,14 @@ public class JavacMain { try { final Collection _options = prepareOptions(options, nowUsingJavac); + + // to be on the safe side, we'll have to apply all options _before_ calling any of manager's methods + // i.e. getJavaFileObjectsFromFiles() + // This way the manager will be properly initialized. Namely, the encoding will be set correctly + for (Iterator iterator = _options.iterator(); iterator.hasNext(); ) { + fileManager.handleOption(iterator.next(), iterator); + } + final JavaCompiler.CompilationTask task = compiler.getTask( out, fileManager, outConsumer, _options, null, fileManager.getJavaFileObjectsFromFiles(sources) );