Warning: Cannot use jsr199 Javac from jrt-fs.jar"

Mandy Chung mandy.chung at oracle.com
Thu Oct 8 01:12:04 UTC 2015

ToolProvider.getSystemJavaCompiler() will return the system compiler (javac) from the image.   Is there any reason why you can’t use that?

It seems to me that the exception is thrown because com.sun.tools.javac.api.JavacTool member is called.


> On Oct 7, 2015, at 6:01 PM, Keimpe Bronkhorst <keimpe.bronkhorst at oracle.com> wrote:
> The underlying exception I get is:
> "Class oracle.jdevimpl.javacompiler.JDevJavaCompiler can not access a member of class com.sun.tools.javac.api.JavacTool (module jdk.compiler) with modifiers "public static", module jdk.compiler does not export com.sun.tools.javac.api to <unnamed module @1cfeea20>"
> Will there be a "public API" way to run JSR199 of any JDK9 installation?
> Keimpe Bronkhorst
> JDeveloper
> On 10/7/2015 6:54 PM, Keimpe Bronkhorst wrote:
>> It is possible in JDK8 and before to run JSR199 compilations using a class loader that loads from tools.jar. I can't do something similar in JDK9 using a new jigsaw build, trying to load from jrt-fs.jar. I get this: Warning: Cannot use jsr199 Javac from jrt-fs.jar".
>> Does this mean you can only use the JSR199 as provided by ToolProvider.getSystemJavaCompiler() of the current process in JDK9?
>> Keimpe Bronkhorst
>> JDeveloper

More information about the jigsaw-dev mailing list