`
teamlet
  • 浏览: 20262 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用jar命令生成的OSGi文件包导致的The Activator for bundle xxx is invalid

阅读更多
问题:
使用jar命令生成jar包当作OSGi bundle,装载可以成功。

但在使用start n 启动的时候,出现
The Activator for bundle xxx is invalid 的错误。

寻找解决办法
在网上找了一圈,没有答案.(也许没找对地方.)

在 http://wiki.bioclipse.net/index.php?title=FAQ&Itemid=17#Eclispe_says:_The_Activator_for_bundle_xxx.xxx.xxx_is_invalid 看到提示,但是没发现bundle和PDE有什么关系.

在 http://wiki.eclipse.org/index.php/PDE 有这样一行字

引用
Use New > Project > Plug-in Development > Plug-in from existing JAR archive. That will turn one or more jar files into a single jar plug-in.


照着做了,建立一个工程,引入jar,然后在导出.
导出步骤:
export > Plug-in Development > Deployable plug-ins and fragments > Archive file > Finish 得到一个jar.

在Equinox安装启动,正常。

对比两个 manifest.mf,有一点不同:
正确的manifest.mf中包含一行:  
Bundle-ClassPath: . (注意:冒号后面有一个点)

尝试将不正确的manifest.mf最后加入这行,保存,执行jar ...
发现这行配置被过滤掉了.

解决办法
在manifest.mf中,

Bundle-ClassPath: .
放在   Bundle-Version: 1.0.0 前面


OK!
分享到:
评论

相关推荐

    Jar转换为Bundle工具

    标题中的“Jar转换为Bundle工具”指的是将传统的Java Archive (JAR) 文件转换为OSGI Bundle的过程。OSGI(Open Service Gateway Initiative)是一种模块化系统和Java服务框架,它允许在单个Java虚拟机(JVM)上运行...

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

    OSGi(Open Services Gateway Initiative)是一种模块化系统和Java服务框架,它允许在单个JVM上运行多个版本的相同库或服务,从而解决了不同版本jar包冲突的问题。本示例通过一个名为“myself”的工程,展示了如何...

    osgi发布http服务的各种bundle,各种jar包,全全全~

    osgi发布http服务的各种bundle,各种jar包,全全全~非常好用的技术包 包括:org.eclipse.equinox.http_1.0.0.v20060601a.jar org.eclipse.equinox.ds_1.0.0.v20060601a.jar org.eclipse.equinox.servlet.api_1.0.0...

    OSGI bundle

    OSGI的核心概念是bundle,它类似于Java的jar文件,但具有更强大的功能和灵活性。一个OSGI bundle包含类、资源以及元数据,这些元数据描述了bundle如何与其他bundle交互。理解OSGI bundle是深入学习OSGI框架的关键。 ...

    osgi开发jar包

    1. **Bundle基础知识**:一个OSGi bundle本质上就是一个遵循特定规范的JAR文件,其中包含了MANIFEST.MF文件。这个文件包含了关于bundle的重要元数据,如Bundle-SymbolicName、Bundle-Version和Export-Package等。...

    OSGI中包含web服务器配置需要的jar.zip

    6. **开发和部署**: 使用这些jar文件,开发者可以按照博客"OSGi环境下建立Web工程的Hello World"中的步骤,创建并部署OSGI兼容的Web应用。这通常涉及编写bundle的MANIFEST.MF文件来声明导出和导入的包,以及如何配置...

    OSGi with CAR-Bundle

    Bundle的元数据由Bundle-Manifest描述,包括Bundle-Activator(激活器类)、Export-Package(导出的包,用于提供服务)和Import-Package(导入的包,依赖的服务)等。 对比于CAR(Component Archive),OSGi Bundle...

    基于EQUINOX的 OSGI BUNDLE 运行例子

    在IT领域,OSGi(Open Services Gateway Initiative)是一种模块化系统和Java服务框架,它...这涉及到理解Bundle的生命周期、MANIFEST.MF文件的编写、Eclipse插件的使用,以及Java代码如何与OSGi框架交互等核心知识点。

    osgi自定义控制台命令demo

    Bundle是OSGi的核心构建块,类似于Java中的jar文件,但包含了元数据,使其能在OSGi环境中作为一个独立的模块运行。`org.eclipse.osgi_3.7.2.v20120110-1415.jar`是一个典型的OSGi bundle,由Eclipse项目提供,包含了...

    spring-dm-osgi整合jar包

    标题“spring-dm-osgi整合jar包”和描述“spring-dm整合osgi所需所有jar包”提及的核心知识点是Spring Dynamic Modules(简称Spring DM)与OSGi(Open Service Gateway Initiative)框架的集成。这两个技术在Java...

    tomcat嵌入OSGI容器

    3. **配置管理**:OSGI的配置管理允许动态配置Bundle,这需要在Tomcat的配置文件中进行相应的设置,以便在启动或运行时更新Bundle的配置。 4. **Web应用部署**:传统的WAR文件可以在OSGI环境中部署为Bundle。这通常...

    基于Eclipse的Equinox框架开发OSGi Bundle应用

    4. **构建和部署**:Eclipse可以自动构建OSGi Bundle,生成`.jar`文件。在Equinox运行时环境中部署Bundle,可以通过控制台命令或图形界面操作。 5. **运行和调试**:利用Eclipse的调试器,可以方便地对Bundle进行...

    spring-osgi.jar及其依赖包

    1. **创建bundle项目**:使用如BndTools这样的工具,或者直接使用Maven或Gradle的OSGi插件,来设置bundle的MANIFEST.MF文件,定义bundle的导出和导入包。 2. **定义服务和组件**:使用DS或Spring的XML配置,声明...

    浅析OSGI的bundle依赖

    OSGI(Open Services Gateway Initiative)是一种模块化系统和Java服务框架,它允许在单个JVM上动态地发现、加载、卸载和管理软件模块,称为bundle。在OSGI环境中,每个bundle都是一个独立的代码单元,具有自己的类...

    osgi多个bundle读取同一配置文件

    osgi多个bundle之间读取同一配置文件,需要单独添加一个用来读取配置文件的bundle

    Spring Dynamic Modules开发所需全部jar包

    spring-osgi-core-1.2.1.jar spring-osgi-core-1.2.1-sources.jar spring-osgi-extender-1.2.1.jar spring-osgi-extender-1.2.1-sources.jar spring-osgi-io-1.2.1.jar spring-osgi-io-1.2.1-sources.jar spring-...

    osgi-bundle-hello-world:使用Maven的演示OSGI捆绑包

    5. `target`: Maven构建后生成的输出目录,包括编译后的class文件和最终的OSGi捆绑包(可能以.jar或.bundle为扩展名)。 总结一下,这个项目旨在教授如何使用Maven创建一个基本的OSGi捆绑包,以及如何在OSGi容器中...

    osgi资料打包

    OSGi(Open Services Gateway Initiative)是一种Java模块化系统和服务平台,它允许开发人员将应用程序分解为可独立更新和管理的模块。这个平台的核心是它的模块系统,也称为OSGi框架,它提供了一种动态、模块化的...

    OSGI资料及jar包

    OSGI进阶资料、OSGI实战资料,资料格式为pdf,包org.eclipse.equinox.http_1.0.0.v20060601a.jar 和org.eclipse.equinox.servlet.api_1.0.0.v20060601a.jar

    OSGI 经典实例,入门

    这通常会包含bundle的初始化类,它定义了bundle的生命周期方法,如start()和stop(),以及bundle的元数据,例如Bundle-Activator和Export-Package等。这些元数据指示了bundle如何启动和暴露其服务。通过查看源码,...

Global site tag (gtag.js) - Google Analytics