@Test public void jarInputStream() { JavassistAdapter javassistAdapter = new JavassistAdapter(); for (URL jar : ClasspathHelper.forClassLoader()) { try { for (Vfs.File file : Iterables.limit(new JarInputDir(jar).getFiles(), 5)) { if (file.getName().endsWith(".class")) { String className = javassistAdapter.getClassName(javassistAdapter.getOrCreateClassObject(file)); } } } catch (Exception e) { throw new RuntimeException(e); } } }
/** returns the metadata adapter. * if javassist library exists in the classpath, this method returns {@link JavassistAdapter} otherwise defaults to {@link JavaReflectionAdapter}. * <p>the {@link JavassistAdapter} is preferred in terms of performance and class loading. */ public MetadataAdapter getMetadataAdapter() { if (metadataAdapter != null) return metadataAdapter; else { try { return (metadataAdapter = new JavassistAdapter()); } catch (Throwable e) { if (Reflections.log != null) Reflections.log.warn("could not create JavassistAdapter, using JavaReflectionAdapter", e); return (metadataAdapter = new JavaReflectionAdapter()); } } }