Compact profiles broken?

Alan Bateman Alan.Bateman at oracle.com
Sat May 21 09:54:22 UTC 2016


On 20/05/2016 23:54, Uwe Schindler wrote:
> :
>
>
> $ javac Test.java
> Test.java:1: error: package javax.xml.bind does not exist
> import javax.xml.bind.DatatypeConverter;
>                       ^
> Test.java:5: error: cannot find symbol
>      DatatypeConverter.parseBoolean("true");
>      ^
>    symbol:   variable DatatypeConverter
>    location: class Test
> 2 errors
Right, as expected.


>
> $ javac -source 8 -target 8 Test.java
> warning: [options] bootstrap class path not set in conjunction with -source 1.8
> 1 warning
>
So the question is how should javac behave with -source/-target when 
-bootclasspath is not specified. This has always been a problematic 
usage because it means javac compiling for the older edition of the Java 
Language but with the APIs for the runtime that javac is running on. The 
warning was added in JDK 7 to try to bring attention to the problematic 
usage. I'm not sure if anything should change now to align it with the 
policy for root modules. This may be something that Jon can comment on. 
The right thing is of course to add -bootclasspath or just replace the 
usage with `javac -release 8`.

-Alan


More information about the jigsaw-dev mailing list