@Override public InputStream getEntryInputStream() throws IOException { try (ReferenceCountedJar jar = open()) { return jar.wrappedJar.getEntryInputStream(); } }
protected void processAnnotationsJar(URL url, WebXml fragment, boolean handlesTypesOnly, Map<String,JavaClassCacheEntry> javaClassCache) { try (Jar jar = JarFactory.newInstance(url)) { if (log.isDebugEnabled()) { log.debug(sm.getString( "contextConfig.processAnnotationsJar.debug", url)); } jar.nextEntry(); String entryName = jar.getEntryName(); while (entryName != null) { if (entryName.endsWith(".class")) { try (InputStream is = jar.getEntryInputStream()) { processAnnotationsStream(is, fragment, handlesTypesOnly, javaClassCache); } catch (IOException e) { log.error(sm.getString("contextConfig.inputStreamJar", entryName, url),e); } catch (ClassFormatException e) { log.error(sm.getString("contextConfig.inputStreamJar", entryName, url),e); } } jar.nextEntry(); entryName = jar.getEntryName(); } } catch (IOException e) { log.error(sm.getString("contextConfig.jarFile", url), e); } }
protected void processAnnotationsJar(URL url, WebXml fragment, boolean handlesTypesOnly, Map<String,JavaClassCacheEntry> javaClassCache) { try (Jar jar = JarFactory.newInstance(url)) { if (log.isDebugEnabled()) { log.debug(sm.getString( "contextConfig.processAnnotationsJar.debug", url)); } jar.nextEntry(); String entryName = jar.getEntryName(); while (entryName != null) { if (entryName.endsWith(".class")) { try (InputStream is = jar.getEntryInputStream()) { processAnnotationsStream(is, fragment, handlesTypesOnly, javaClassCache); } catch (IOException e) { log.error(sm.getString("contextConfig.inputStreamJar", entryName, url),e); } catch (ClassFormatException e) { log.error(sm.getString("contextConfig.inputStreamJar", entryName, url),e); } } jar.nextEntry(); entryName = jar.getEntryName(); } } catch (IOException e) { log.error(sm.getString("contextConfig.jarFile", url), e); } }