【问题标题】:How list all package in a specific jar file?如何列出特定jar文件中的所有包?
【发布时间】:2020-03-26 00:11:57
【问题描述】:

如何从 Java 中获取特定 jar 文件中的所有包名?

我知道如何获取 jar 中的所有类,但如何仅获取包名?

【问题讨论】:

标签: java jar package


【解决方案1】:

如果您想在 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);

【讨论】:

  • replace('/', '.') 比 replaceAll 快,因为它不使用正则表达式。
猜你喜欢
  • 1970-01-01
  • 2013-10-15
  • 1970-01-01
  • 2014-10-27
  • 1970-01-01
  • 2021-09-29
  • 2011-04-11
  • 2018-12-03
  • 2010-10-20
相关资源
最近更新 更多