Моя текущая задача - итерация .jar, чтобы увидеть, есть ли внутри .jars внутри. Затем я должен получить эти .jars и проверить определенный файл в каждом. Чтобы сделать это, я использую JarFile для получения JarEntries. Проблема в том, как мне сделать, чтобы снова получить JarFile из текущей записи Jar ?. Является ли это возможным?Получите JarFile от JarEntry
Jar: Jar1: /META-INF/source/file1.txt Jar2: /META-INF/source/file1.txt
Вот мой текущий код:
public static void main(String[] args) throws IOException, URISyntaxException {
String dir = Paths.get(".").toAbsolutePath().normalize().toString() + "/target";
Collection<String> jarBuildList = JarFinder.getJars(dir);
for(String buildJar : jarBuildList){
File file = new File(buildJar);
JarFile buildJarFile = new JarFile(file);
Enumeration<JarEntry> entries = buildJarFile.entries();
while (entries.hasMoreElements()) {
JarEntry jarEntry = entries.nextElement();
if (jarEntry.getName().contains(".jar")){
//Having the JarEntry, enter to that jar javaEntry and get a file1.txt
}
}
}
}
}
извлеките файл jar внутри, с помощью этого: http://stackoverflow.com/questions/1529611/how-to-write-a-java-program-which-can-extract-a-jar-file-and- store-its-data-in-s и сделать это снова –
Почему бы не преобразовать его в zip, извлеките файлы там, если эти файлы являются банкой, повторите. – Bug