On 03/02/2015 04:09, Martin Buchholz wrote:
I'm trying to use jdk9-b34 and see that rt.jar and friends are gone.
Are we in jigsaw-land yet?
javac doesn't seem to know about any -modulepath flag yet.
(javac -help, javac -X is module-unaware)
How do I specify a bootclasspath for jdk9-b34?
You can't use a jimage with -bootclasspath, and -modulepath doesn't seem to
work (even though I see references to it in the javac sources)

How will one be able to use javac/jdk10 to target jdk9?  Traditionally,
-target 9 -source 9 and -bootclasspath with some collection of jdk9 jar
files.  But jdk9 bootclasspath jars are gone, and I don't see anything to
replace it?

(Background: trying to fix up jsr166 ant build script for jdk9-latest)

JEP 220 went into jdk9-b41 so that's the first build where you should have noticed the change to the runtime image layout and where rt.jar and tools.jar have been replaced. Prior to this then JEP 201 went in to reorganize the source code by module and change significantly the build so that the compilation unit is module rather than the java sources in each repository.

We're still not in "module land" yet, there's a standard module system for JSR 376 to define and there will be JEP for the implementation too. So too early to be looking for options like -modulepath.

For tools that need to access the classes and resources in another runtime image then the proposal (in JEP 220) is the jrt file system provider. At this time, this works for a tool running on JDK 9 to access the contents of its own image, or a tool running on JDK 8 to access the contents of a target JDK 9 image. So far then javac, jdeps and rmic have been changed to use the file system API. We're not yet at the point where a tool running on a build of JDK 9 or JDK 10 can access the contents of different JDK 9 or JDK 10 build but we'll get there (in a few months I hope, there are a few issues to sort out first and a number of other big changes in this areas that are higher priority at the moment).

For javac then there are other ideas to support compiling for previous releases, Jon might want to say more on this.

-Alan

Reply via email to