使用 maven 访问项目依赖项的 MANIFEST.MF 个文件

Access MANIFEST.MF files of project dependencies using maven

我有一个 Maven 项目,其中有几个由我的团队内部开发的依赖项。在当前项目的构建时,我需要这些依赖项的 MANIFEST.mf 文件中包含的一些信息。

明确一点。我不想从我自己的 MANIFEST.mf 文件(来自我正在构建的项目的文件)中获取信息。我想在构建时访问项目依赖项的 MANIFEST.mf 文件中包含的信息。

我构建了一个 Maven 插件,我可以在其中检查依赖关系树并检索有关依赖关系的一些基本信息,但是我还没有找到直接访问 MANIFEST.mf 文件的方法。

关于我如何(以编程方式)访问它们,您有任何线索吗?

谢谢!

使用工件的文件创建一个 https://docs.oracle.com/javase/8/docs/api/java/util/jar/JarFile.html ,它使您可以访问 Manifest

也许这样的东西对你有用

public void readManifests() throws IOException {
    URLClassLoader classLoader = (URLClassLoader) ClassLoader.getSystemClassLoader();

    for(URL url: classLoader.getURLs()) {
        Manifest manifest = new JarFile(url.getFile()).getManifest();
    }
}