`
huihua
  • 浏览: 62627 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
文章分类
社区版块
存档分类
最新评论

读取MANIFEST.MF中Bundle-SymbolicName的值

阅读更多
    /**
     * Function :readManifestContext
     * <p>
     * Description :读取MANIFEST.MF中Bundle-SymbolicName的值
     * <p>
     * Author  2009-3-17
     * @param filePath
     *            文件路径
     * @return
     * @throws Exception
     */
    public static String getBundleSymbolicNameAndVersion(String filePath)
    {
        if (filePath == null || filePath.equals("")
                || !filePath.endsWith(".jar"))
        {
            return null;
        }

        try
        {
            JarFile jf = new JarFile(filePath);
            Manifest mf = jf.getManifest();
            Attributes attributes = mf.getMainAttributes();
            String bundleSymbolicName = attributes
                    .getValue(BUNDLE_SYMBOLIC_NAME);
            if (bundleSymbolicName != null && !bundleSymbolicName.equals(""))
            {
                bundleSymbolicName = bundleSymbolicName.split(";")[0];
                if (bundleSymbolicName != null
                        && !bundleSymbolicName.equals(""))
                {
                    String bundleVersion = attributes.getValue(BUNDLE_VERSION);
                    return bundleSymbolicName
                            + (bundleVersion == null ? "" : " ("
                                    + bundleVersion + ") ");
                }
            }
            return null;
        }
        catch (IOException e)
        {
            return null;
        }
    }
分享到:
评论

相关推荐

    MANIFEST.MF 文件内容详解(转)

    3. **Manifest-Version**: 用于声明MANIFEST.MF文件的版本,通常是`1.0`。 4. **Implementation-Title**, **Implementation-Version**, **Implementation-Vendor**: 这些是可选的,提供了关于实现的软件包的更多...

    MANIFEST.MF 读写操作

    在本文中,我们将深入探讨如何在 Java 中读取和写入 MANIFEST.MF 文件,以及如何使用 Maven 进行打包时配置 MANIFEST.MF。 首先,MANIFEST.MF 文件通常位于 JAR 文件的根目录下,它的结构是基于行的,每行一个属性...

    android apk文件里MANIFEST.MF、CERT.SF、CERT.RSA三者的关系(csdn)————程序.pdf

    在CERT.SF中,除了MANIFEST.MF的摘要,还有整个MANIFEST.MF文件的摘要,用于进一步确保MANIFEST.MF的完整性和一致性。 3. CERT.RSA(证书文件) CERT.RSA文件包含了签名证书和签名本身。签名证书部分通常是以PEM...

    详解MANIFEST.MF文件

    1. **Manifest-Version**: 表示MANIFEST文件的版本。例如: ```plaintext Manifest-Version: 1.0 ``` 这个版本号对于兼容性非常重要,确保MANIFEST文件与JAR文件版本一致。 2. **Created-By**: 记录创建JAR文件...

    hhclass汉化 用来修改MANIFEST.MF

    在Java应用程序开发中,MANIFEST.MF文件起着至关重要的作用。它是每个JAR(Java Archive)文件的核心组成部分,包含了关于该JAR的基本信息,如主类、版本号、依赖库等。MANIFEST.MF的正确配置对于程序的运行和打包是...

    jquery-manifest.js

    1. **动态生成清单文件**:jquery-manif会动态生成或更新AppCache清单文件(manifest.appcache),根据指定的规则将页面上的资源自动添加到清单中,减少了手动维护的负担。 2. **事件监听与更新**:插件监听浏览器...

    MANIFEST.MF

    MANIFEST.MF

    cxf-manifest.jar

    webservice CXF 报错:java.lang.NoClassDefFoundError: org/apache/neethi/builders/AssertionBuilder 需要用到此jar文件 通过apache官网可获得。 文件位置\apache-cxf-2.7.13\lib

    MANIFEST.MF.mf

    MANIFEST.MF.mf

    org.osgi.core-4.2.0

    - Manifest 文件:每个 Bundle 都有一个包含元数据的 MANIFEST.MF 文件,用于声明 Bundle 的依赖和其他信息。 - `Import-Package`:声明 Bundle 需要的外部包。 - `Export-Package`:声明 Bundle 提供给其他 ...

    osgi解决不同版本jar包冲突的demo

    在MANIFEST.MF文件中,定义Bundle-SymbolicName和Bundle-Version属性,以标识bundle的唯一性和版本。 3. **导入导出包**:在MANIFEST.MF中,声明bundle需要导入和导出的包。导入表示对其他bundle的依赖,导出表示向...

    manifest.json(文档标准格式).rar

    manifest.json 文件是Web应用程序、Chrome扩展程序以及许多现代软件平台中的一个重要组成部分,它定义了应用的基本元数据,有助于浏览器或操作系统理解应用的功能、资源和行为。这个文件通常以JSON(JavaScript ...

    MANIFEST.MF的应用以及如何读取jar包外的log4j.properties

    标题中的“MANIFEST.MF”是指Java应用程序中的清单文件,它是每个JAR(Java Archive)文件的核心组成部分。MANIFEST.MF文件主要包含了关于JAR包的一些元数据信息,如主类(Main-Class)、版本信息、依赖库等。在运行...

    飞信的java源码,完全反编译,解密版

    飞信 客户端的 java 源码, | Buddy.java | ChatMessage.java | ChatSession.java | ChineseString.java | DataPackage.java ...| MANIFEST.MF | \---res +---128 | i.png | +---176 | i.png | \---240 i.png

    CDH6.3.2+centos7完全离线下安装手册

    manifest.json CentOS-7-x86_64-DVD-1611.iso cm6.3.1-redhat7.tar.gz jdk-8u251-linux-x64.tar.gz mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar mysql-connector-java-5.1.46.tar.gz 离线安装CDH6.3.2.docx

    JDK11--jdk-11.0.16.1_linux-x64_bin.rpm

    jdk-11.0.16.1_linux-x64_bin.rpm

    felix学习二-发布classpath为bundle

    这可以通过修改felix.config.properties文件来实现,添加或更新`felix.startlevel.bundle`属性,设置我们的bundle启动级别。 4. **启动Felix和bundle**: 启动Felix运行时环境,然后通过命令行接口或API安装并启动...

    eclipse-项目打包与发行

    - `Manifest-Version`: 指明了MANIFEST文件的版本。 - `Main-Class`: 指定了JAR文件的主类,即程序入口点。 - `Class-Path`: 列出了JAR文件运行时需要的外部类库路径。 例如,一个典型的`MANIFEST.MF`可能如下所...

    emmet(zen-coding)低版本eclipse自编译版

    由于官方提供的eclipse site 上的版本不兼容老版eclipse(我用的是helios)所以就自己编译了个,亲测可用,没改任何源码,不嫌麻烦的童鞋可以下载源码,然后修改MANIFEST.MF文件Require-Bundle:下的 org.eclipse....

Global site tag (gtag.js) - Google Analytics