[size=18]问题:[/size]
使用jar命令生成jar包当作OSGi bundle,装载可以成功。
但在使用start n 启动的时候,出现
The Activator for bundle xxx is invalid 的错误。
[size=18]寻找解决办法[/size]
在网上找了一圈,没有答案.(也许没找对地方.)
在 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 有这样一行字
[quote]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. [/quote]
照着做了,建立一个工程,引入jar,然后在导出.
导出步骤:
export > Plug-in Development > Deployable plug-ins and fragments > Archive file > Finish 得到一个jar.
在Equinox安装启动,正常。
对比两个 manifest.mf,有一点不同:
正确的manifest.mf中包含一行:
Bundle-ClassPath: . (注意:冒号后面有一个点)
尝试将不正确的manifest.mf最后加入这行,保存,执行jar ...
发现这行配置被过滤掉了.
[size=18]解决办法[/size]
在manifest.mf中,
把
Bundle-ClassPath: .
放在 Bundle-Version: 1.0.0 前面
OK!
使用jar命令生成jar包当作OSGi bundle,装载可以成功。
但在使用start n 启动的时候,出现
The Activator for bundle xxx is invalid 的错误。
[size=18]寻找解决办法[/size]
在网上找了一圈,没有答案.(也许没找对地方.)
在 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 有这样一行字
[quote]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. [/quote]
照着做了,建立一个工程,引入jar,然后在导出.
导出步骤:
export > Plug-in Development > Deployable plug-ins and fragments > Archive file > Finish 得到一个jar.
在Equinox安装启动,正常。
对比两个 manifest.mf,有一点不同:
正确的manifest.mf中包含一行:
Bundle-ClassPath: . (注意:冒号后面有一个点)
尝试将不正确的manifest.mf最后加入这行,保存,执行jar ...
发现这行配置被过滤掉了.
[size=18]解决办法[/size]
在manifest.mf中,
把
Bundle-ClassPath: .
放在 Bundle-Version: 1.0.0 前面
OK!