Review Request: JDK-8169816 Move src.zip and jrt-fs.jar under the lib directory

Mandy Chung mandy.chung at oracle.com
Wed Nov 23 18:36:07 UTC 2016


> On Nov 23, 2016, at 6:05 AM, Alan Bateman <Alan.Bateman at oracle.com> wrote:
> 
> 
> 
> On 22/11/2016 21:07, Mandy Chung wrote:
>> This patch moves src.zip and jrt-fs.jar from the top-level into
>> the `lib` directory in the run-time image as we proposed [1].
>> 
>> Webrev:
>>   http://cr.openjdk.java.net/~mchung/jdk9/webrevs/8169816/webrev.00/
>> 
>> 
> This looks good. A minor point in SystemImage.findHome is that it's probably an InternalError if we are somehow loaded from a jrt-fs.jar that is not in the lib directory.

Agree.  The existing check if non “file” URL should also throw InternalError instead.  Fixed.

@@ -113,12 +113,16 @@
         if (cs == null)
             return System.getProperty("java.home");
 
-        // assume loaded from $TARGETJDK/jrt-fs.jar
+        // assume loaded from $TARGETJDK/lib/jrt-fs.jar
         URL url = cs.getLocation();
         if (!url.getProtocol().equalsIgnoreCase("file"))
-            throw new RuntimeException(url + " loaded in unexpected way");
+            throw new InternalError(url + " loaded in unexpected way");
         try {
-            return Paths.get(url.toURI()).getParent().toString();
+            Path lib = Paths.get(url.toURI()).getParent();
+            if (!lib.getFileName().toString().equals("lib"))
+                throw new InternalError(url + " unexpected path");
+
+            return lib.getParent().toString();
         } catch (URISyntaxException e) {
             throw new InternalError(e);
         }

Mandy


More information about the build-dev mailing list