# HG changeset patch # User Jaroslav Tulach # Date 1401121296 -7200 # Node ID a872960dce932b1d13bdf4c2518b2958a8bf10fa # Parent 824cb8b9c4f9083ec4a4df7a2a9e66977556244b Can't close the JAR, we read its resources later diff -r 824cb8b9c4f9 -r a872960dce93 rt/aot/src/main/java/org/apidesign/bck2brwsr/aot/Bck2BrwsrJars.java --- a/rt/aot/src/main/java/org/apidesign/bck2brwsr/aot/Bck2BrwsrJars.java Mon May 26 18:21:24 2014 +0200 +++ b/rt/aot/src/main/java/org/apidesign/bck2brwsr/aot/Bck2BrwsrJars.java Mon May 26 18:21:36 2014 +0200 @@ -63,28 +63,27 @@ * @throws IOException if something goes wrong */ public static Bck2Brwsr configureFrom(Bck2Brwsr c, File jar) throws IOException { - try (JarFile jf = new JarFile(jar)) { - List classes = new ArrayList<>(); - List resources = new ArrayList<>(); - Set exported = new HashSet<>(); - - listJAR(jf, classes, resources, exported); - - class JarRes extends EmulationResources implements Bck2Brwsr.Resources { + final JarFile jf = new JarFile(jar); + List classes = new ArrayList<>(); + List resources = new ArrayList<>(); + Set exported = new HashSet<>(); - @Override - public InputStream get(String resource) throws IOException { - InputStream is = jf.getInputStream(new ZipEntry(resource)); - return is == null ? super.get(resource) : is; - } + listJAR(jf, classes, resources, exported); + + class JarRes extends EmulationResources implements Bck2Brwsr.Resources { + + @Override + public InputStream get(String resource) throws IOException { + InputStream is = jf.getInputStream(new ZipEntry(resource)); + return is == null ? super.get(resource) : is; } - return Bck2Brwsr.newCompiler() - .library(true) - .addClasses(classes.toArray(new String[classes.size()])) - .addExported(exported.toArray(new String[exported.size()])) - .addResources(resources.toArray(new String[resources.size()])) - .resources(new JarRes()); } + return Bck2Brwsr.newCompiler() + .library(true) + .addClasses(classes.toArray(new String[classes.size()])) + .addExported(exported.toArray(new String[exported.size()])) + .addResources(resources.toArray(new String[resources.size()])) + .resources(new JarRes()); } private static void listJAR(