On 1/10/17, 1:48 AM, Rory O'Donnell wrote:


Hi Rick,

Best wishes for the New Year.

Dalibor and I will be at FOSDEM '17, Brussels 4 & 5 February. Let us know if you will be there, hopefully we can meet up !

Hi Rory and Dalibor,

I won't be attending FOSDEM next month, so I'm afraid I won't see you.

I have taken build 151 for a test-drive. I'd hoped that it would fix the problems which surfaced in build 148.

Unfortunately, build 151 does not fix the following problem which surfaced in build 148: the failure of our test harness to find the derbyall suite. The problem seems to be that the Java 9 class loader no longer finds resources which the Java 8 class loader can locate. The following sample program demonstrates this problem. Compile this program with jdk 8 and put the derby jars on your classpath. This is the output when you run the program on jdk 8...

input stream = sun.net.www.protocol.jar.JarURLConnection$JarURLInputStream@3f99bd52

...and this is the output when you run the program on jdk 9...

input stream = null

Here is the program:

public class Derby6856_MissingResource
{
  public static void main(String... args) throws Exception
  {
String resourceName = "/org/apache/derbyTesting/functionTests/suites/derbyall.properties";
    Class dummyClass = (new Object()).getClass();
    Object is = dummyClass.getResourceAsStream(resourceName);

    System.out.println("input stream = " + is);
  }
}

It appears that resource resolution has changed significantly in the recent builds of JDK 9. I expect that this change will be an unwelcome surprise to many users. I have a couple questions:

1) Is this new behavior a bug?

2) Is there a recommended workaround?

Thanks,
-Rick

*JDK 9 Early Access* b151 <https://jdk9.java.net/download/> is available on java.net

There have been a number of fixes to bugs reported by Open Source projects since the last availability email :

    * JDK-8171377 : Add sun.misc.Unsafe::invokeCleaner
    * JDK-8075793 : Source incompatibility for inference using -source 7
    * JDK-8087303  : LSSerializer pretty print does not work anymore
    * JDK-8167143 :CLDR timezone parsing does not work for all locales

Other changes that maybe of interest:

    * JDK-8066474 : Remove the lib/$ARCH directory from Linux and
      Solaris images
    * JDK-8170428 : Move src.zip to JDK/lib/src.zip

*JEPs intergrated:*

    * JEP 295 <http://openjdk.java.net/jeps/295>: Ahead-of-Time
      Compilation has been integrated in b150.

*Schedule - Milestones since last availability email *

    * *Feature Extension Complete 22nd of December 2016*
    * *Rampdown Started 5th of January 2017
      *
          o Phases in which increasing levels of scrutiny are applied
            to incoming changes.
          o In phase 1, only P1-P3 bugs can be fixed. In phase 2 only
            showstopper bugs can be fixed.

Rgds,Rory

--
Rgds,Rory O'Donnell
Quality Engineering Manager
Oracle EMEA , Dublin, Ireland

Reply via email to