java - 如何读取java程序中特定类路径jar的MANIFEST文件

标签 java jar manifest

我能够读取我的 java 程序中所有类路径 jar 的 MANIFEST 文件。但我想读取特定 jar 的 MANIFEST 文件,例如“xml-apis-1.0.b2.jar”,如何完成?

我的工作代码是

Enumeration resEnum;
    try{
    resEnum  =Thread.currentThread().getContextClassLoader().getResources(JarFile.MANIFEST_NAME);

    while (resEnum.hasMoreElements()) {
        try {
            URL url = (URL)resEnum.nextElement();
            InputStream is = url.openStream();

            if (is != null) {
                Manifest manifest = new Manifest(is);

                Attributes mainAttribs = manifest.getMainAttributes();
                String vendor = mainAttribs.getValue("Implementation-Vendor");
                String version = mainAttribs.getValue("Implementation-Version");
                if(!mainAttribs.getValue("Extension-Name").equals("null")){
                    System.out.println(mainAttribs.getValue("Implementation-Title"));
                                           System.out.println(version);
                    System.out.println(vendor);
                    System.out.println(mainAttribs.getValue("Extension-Name"));
                }
                }
            }catch(Exception e){}
    }
    }catch(Exception e){

最佳答案

你可以试试这个

if (url.getFile().contains("xml-apis-1.0.b2.jar")) {
    ...
}

关于java - 如何读取java程序中特定类路径jar的MANIFEST文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17143066/

相关文章:

java - 使用 Java 8 中引入的 @Exported 注解标记的类型是否安全?

java - start() 方法不存在

Java - 获取当前 JAR 中的文件名列表

java - 如何为我的 Maven 项目制作一个可运行的 jar?

java - 如何将 Git 分支名称作为 pom.xml 中依赖版本的变量

android - <activity> 元素必须是库 list 中 <application> 元素的直接子元素

java - 如何防止 IntelliJ 生成覆盖原始文件的 MANIFEST.MF?

c++ - 使用Visual Studios C++ list 文件

java - 如何在 Java 中正确导入类?

java - 在 Java 中使用什么数据类型来匹配间隔?