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

Jonathan Gibbons jonathan.gibbons at oracle.com
Thu Oct 8 02:36:37 UTC 2015



On 10/07/2015 06:01 PM, Keimpe Bronkhorst 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
>

Keimpe,

While we know that some "friends of javac" have been using its internal 
API, it would be good to know what specific internal features you have 
been using, so that we can see if there are alternatives on the public 
API, and maybe provide additional public API where appropriate.

You can run tools like jdeps to find what dependencies you have on any 
internal API.

-- Jon


More information about the jigsaw-dev mailing list