can't build jigsaw with new javac
Mandy Chung
Mandy.Chung at Sun.COM
Tue Mar 9 18:42:09 PST 2010
Jonathan Gibbons wrote:
> Mandy,
>
> It seems anomalous that there are two different values for
> -Xbootclasspath in the modularize target.
>
>>
>> /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/bin/javac -source 7
>> -target 7 -encoding ascii
>> "-Xbootclasspath:/mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/classes"
>
This is the value coming from $(JAVACFLAGS) that doesn't have some
classes from other jar files (sa-jdi.jar). If sa-jdi.jar is the only
missing jar file (I have to double check), I could use -Xbootclasspath/a
instead
>> -d /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/modules \
>>
>> -Xbootclasspath:/mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/tmp/modules/classes\
>>
That's the value I want. I unjar all jdk jar files in
$outputdir/tmp/modules/classes as part of the modularization process.
Since $outputdir/tmp/modules/classes has all the jdk classes, I took the
easiest approach to replace the entire bootclasspath with that.
What about if I use -J-Xbootclasspath:$outputdir/tmp/modules/classes?
Would javac be able to look up all jdk modules and compile all
module-info.java? Would that be a better temporary workaround for now?
Mandy
>> -modulepath
>> /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/modules \
>> -sourcepath
>> /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/tmp/modules/src \
>>
>> /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/tmp/modules/src/*/module-info.java
>>
>> javac: cannot specify both -bootclasspath and -modulepath
>> Usage: javac <options> <source files>
>> use -help for a list of possible options
>
> One value comes in via $(JAVACFLAGS), the other is explicit.
>
> -- Jon
>
>
> Mandy Chung wrote:
>> On 03/09/10 12:16, Jonathan Gibbons wrote:
>>> Mandy,
>>>
>>> What are you trying to do here? You can't have -Xbootclasspath and
>>> -modulepath.
>>
>> That was a hack for javac to find classes that are not in the default
>> bootclasspath (e.g. lib/sa-jdi.jar).
>>
>> For example, $outputdir/tmp/modules/src/jsadebugd/module-info.java
>> has a main class of sun.jvm.hotspot.jdi.SADebugServer that is not
>> in $outputdir/classes
>>
>> Is there a better way to do this?
>>
>> Mandy
>>
>>>
>>>> /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/bin/javac -source
>>>> 7 -target 7 -encoding ascii
>>>> "-Xbootclasspath:/mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/classes"
>>>> -d /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/modules \
>>>>
>>>> -Xbootclasspath:/mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/tmp/modules/classes\
>>>>
>>>> -modulepath
>>>> /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/modules \
>>>> -sourcepath
>>>> /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/tmp/modules/src \
>>>>
>>>> /mnt/w/jjg/work/jigsaw/jigsaw/build/linux-amd64/tmp/modules/src/*/module-info.java
>>>>
>>>> javac: cannot specify both -bootclasspath and -modulepath
>>>> Usage: javac <options> <source files>
>>>> use -help for a list of possible options
>>>
>>> See this response from Mark back in December, available here:
>>> http://mail.openjdk.java.net/pipermail/jigsaw-dev/2009-December/000421.html
>>>
>>>
>>>> >/ -- do we allow or forbid any use of bootclasspath with any
>>>> modular code?
>>>> /
>>>> Forbid.
>>>>
>>>
>>>
>>> -- Jon
>
More information about the jigsaw-dev
mailing list