public static void main(String[] args) throws IOException {
String filePath = args[0];
JarFile jar = new JarFile(new File(filePath));
Enumeration<JarEntry> zipEntries = jar.entries();
String pomPath = null;
for (JarEntry entry : Collections.list(zipEntries)) {
if (entry.getName().contains("pom.xml")) {
pomPath = entry.getName();
System.out.println(pomPath);
}
}
}
теперь он печатает, где находится файл pom.xml в jar-файле.
META-INF / Maven / ~~~~ / ~~~~ / pom.xml
А теперь я хочу получить доступ к файлу pom.xml.
Я провел небольшое исследование и думаю, что мне нужно использовать одно из следующих значений:
InputStream is = obj.getClass().getClassLoader().getResourceAsStream(pomPath);
при вызове этого я не знаю, что использовать для вызывающего объекта, поэтому я просто установил нулевую строку в качестве вызывающего объекта, и он говорит об исключении нулевого указателя.
Также я где-то видел, что мне нужно использовать JarInputStream
для доступа к JarFile
.
Но я понятия не имею, используя его. Помоги мне!