如何从Java中获取特定jar文件中的所有包名?
我知道如何在一个jar中获取所有类,但如何只获取包名称?
如果您想在java代码中做到这一点,那么您可以使用JarFile
。
列出给定jar中的所有类,并从中获取所有包(通过从全名中提取包(。
JarFile jar = ... \ create from file
jar.stream()
.map(ZipEntry::getName)
.filter(name -> name.endsWith(".class"))
.map(name -> name
.substring(0, name.lastIndexOf('/'))
.replace('/', '.')
)
.distinct()
.forEach(System.out::println);