Java compiler API not supporting non-standard options such as -XDignore.symbol.file?

David M. Lloyd david.lloyd at
Fri Oct 11 15:44:48 PDT 2013

Perhaps it doesn't work because the compiler API doesn't actually start 
a JVM up, so it's meaningless to pass options to the JVM?

Try just setting the "ignore.symbol.file" system property to true in 
that process.

On 10/11/2013 05:06 PM, Peter Niederwieser wrote:
> Anyone? Do you have a public issue tracker where I can submit this?
> Peter
> On Oct 7, 2013, at 3:35 AM, Peter Niederwieser <pniederw at
> <mailto:pniederw at>> wrote:
>> Hi compiler developers,
>> I'm working on the Java compiler integration for the Gradle build tool
>> ( <>). Our main way of interacting
>> with the Java compiler is the Java compiler API. Among other things,
>> this allows us to have a long-running compiler process that can be
>> reused over time, which is considerably faster than forking a new
>> compiler every time.
>> I've noticed that the Java compiler API seems to silently ignore some
>> of the options supported by the (Oracle JDK) command-line compiler. A
>> concrete example is -XDignore.symbol.file=true, which some Gradle
>> users need in order to be able to compile against internal JDK classes
>> (e.g. com.sun.image.codec.jpeg.JPEGCodec). Is this a known issue, or
>> is it even a feature (perhaps because -XDignore.symbol.file is a
>> non-standard option)? To achieve the best possible compiler
>> integration in Gradle, it would help a lot if the compiler API
>> accepted exactly the same options as the corresponding command-line
>> compiler.
>> Thanks for any insights.
>> Cheers,
>> Peter
>> --
>> Peter Niederwieser
>> Principal Developer, Gradleware
>> <>
>> <>
>> Creator, Spock Framework
>> <>
>> Join us at the GradleeXchange 2013, Oct 28th in London, UK:


More information about the compiler-dev mailing list