indexing JDK 10 from code running on Java 8
Roman Shevchenko
roman.shevchenko at jetbrains.com
Tue Oct 10 09:56:54 UTC 2017
Hi Remy,
as far as I can see from makefiles, "--release 8" isn't used for compiling
jrt-fs.jar (JrtfsJar.gmk uses "GENERATE_OLDBYTECODE" setup, which produces
a code compatible with the boot JDK - i.e. 9).
On Tue, Oct 10, 2017 at 11:16 AM, Remi Forax <forax at univ-mlv.fr> wrote:
> Hi Roman,
> that's a bug.
>
> Some signature of java.nio.Buffer subclasses were changed in a source
> backward compatible way but not in a binary backward compatible way,
> the way to fix the issue is to cast java.nio.ByteBuffer to java.nio.Buffer
> before calling limit().
>
> I wonder why javac has not said that java.nio.ByteBuffer.limit(I)Ljava/nio/ByteBuffer
> do not exist when the code is compiled with --release 8.
>
> And obviously, this can be fixed by rewriting the bytecode but i do not
> think it's the right solution here.
>
> cheers,
> Rémi
>
> ----- Mail original -----
> > De: "Roman Shevchenko" <roman.shevchenko at jetbrains.com>
> > À: jdk10-dev at openjdk.java.net
> > Envoyé: Mardi 10 Octobre 2017 11:05:58
> > Objet: Fwd: indexing JDK 10 from code running on Java 8
>
> > Hi,
> >
> > at the moment, IDEA is unable to index JDK 10 classes because
> > lib/jrtf-s.jar is incompatible with Java 8. Migrating IDEA to Java 9 is
> one
> > possible solution, but I'm afraid it will take more time than there is
> left
> > before 18.3 nightly builds will start to appear. What other options do we
> > have?
> >
> > The problem:
> >
> > java.lang.NoSuchMethodError: java.nio.ByteBuffer.limit(I)
> > Ljava/nio/ByteBuffer;
> > at jdk.internal.jimage.BasicImageReader.slice(
> > BasicImageReader.java:211)
> > at jdk.internal.jimage.BasicImageReader.intBuffer(
> > BasicImageReader.java:218)
> > at jdk.internal.jimage.BasicImageReader.<init>(
> > BasicImageReader.java:152)
> > at jdk.internal.jimage.ImageReader$SharedImageReader.
> > <init>(ImageReader.java:224)
> > at jdk.internal.jimage.ImageReader$SharedImageReader.
> > open(ImageReader.java:238)
> > at jdk.internal.jimage.ImageReader.open(ImageReader.java:67)
> > at jdk.internal.jimage.ImageReader.open(ImageReader.java:71)
> > at jdk.internal.jrtfs.SystemImage.open(SystemImage.java:59)
> > at jdk.internal.jrtfs.JrtFileSystem.<init>(JrtFileSystem.java:90)
> > at jdk.internal.jrtfs.JrtFileSystemProvider.newFileSystem(
> > JrtFileSystemProvider.java:108)
> > at java.nio.file.FileSystems.newFileSystem(FileSystems.java:336)
> > at com.intellij.openapi.vfs.impl.jrt.JrtHandler.getFileSystem(
> > JrtHandler.java:80)
> > ... 73 more
> >
> > --
> > Roman Shevchenko
> > JetBrains
> > http://www.jetbrains.com
> > The Drive to Develop
>
More information about the jdk10-dev
mailing list