private void copyResource(URI resource, Set<String> entries, JarOutputStream jarOut) throws IOException { if ("file".equals(resource.getScheme())) { File file = new File(resource); if (file.isDirectory()) { saveDirEntry(resourcesDir, entries, jarOut); copyDir(file, resourcesDir, entries, jarOut); return; } } URL url = resource.toURL(); String path = url.getFile(); String prefix = path.endsWith(".jar") ? libDir : resourcesDir; path = prefix + path.substring(path.lastIndexOf('/') + 1); if (entries.add(path)) { saveDirEntry(prefix, entries, jarOut); jarOut.putNextEntry(new JarEntry(path)); try (InputStream is = url.openStream()) { ByteStreams.copy(is, jarOut); } } }
private void copyResource(URI resource, Set<String> entries, JarOutputStream jarOut) throws IOException { if ("file".equals(resource.getScheme())) { File file = new File(resource); if (file.isDirectory()) { saveDirEntry(resourcesDir, entries, jarOut); copyDir(file, resourcesDir, entries, jarOut); return; } } URL url = resource.toURL(); String path = url.getFile(); String prefix = path.endsWith(".jar") ? libDir : resourcesDir; path = prefix + path.substring(path.lastIndexOf('/') + 1); if (entries.add(path)) { saveDirEntry(prefix, entries, jarOut); jarOut.putNextEntry(new JarEntry(path)); try (InputStream is = url.openStream()) { ByteStreams.copy(is, jarOut); } } }
saveDirEntry(libDir, entries, jarOut); saveEntry(libDir + entryName, classPathUrl, entries, jarOut, false); } else { saveDirEntry(classesDir, entries, jarOut); if ("file".equals(classPathUrl.getProtocol())) { saveDirEntry(entry.substring(0, entry.lastIndexOf('/') + 1), entries, jarOut); saveEntry(entry, classUrl, entries, jarOut, true);
saveDirEntry(libDir, entries, jarOut); saveEntry(libDir + entryName, classPathUrl, entries, jarOut, false); } else { saveDirEntry(classesDir, entries, jarOut); if ("file".equals(classPathUrl.getProtocol())) { saveDirEntry(entry.substring(0, entry.lastIndexOf('/') + 1), entries, jarOut); saveEntry(entry, classUrl, entries, jarOut, true);