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 840403e2d0a0..0b565436789a 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java +++ b/jps/jps-builders/src/org/jetbrains/jps/javac/JavacMain.java @@ -197,7 +197,13 @@ public class JavacMain { return (StandardJavaFileManager)Proxy.newProxyInstance(fileManager.getClass().getClassLoader(), new Class[]{StandardJavaFileManager.class}, new InvocationHandler() { @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { - return method.invoke(fileManager.getApiCallHandler(method), args); + try { + return method.invoke(fileManager.getApiCallHandler(method), args); + } + catch (InvocationTargetException e) { + final Throwable cause = e.getCause(); + throw cause != null? cause : e; + } } }); }