我正试图在eclipse中以调试模式启动一个OSGI框架堆栈,我想知道是否有一种常见的方法 .

首先,我知道我必须配置Eclipse Plugin Development -> Target Platform 才能找到我的软件包,并且能够使用 PDE 轻松开发 . 假设我想在 Geronimo 堆栈上尝试我的应用程序,我将手动创建一个新的 Target Platform ,并手动添加geronimo使用的每个包,它们都在一个单独的文件夹中... KarafServiceMixKnopflerfish 或我想尝试的任何其他堆栈 . 有没有另一种创造 Target Platform 的方法?

然后,在 OSGi Framework 启动配置中,无论你的 Target Platform 如何配置,默认情况下框架是 Equinox ,我发现改变它的唯一方法是安装一些eclipse插件 .

我发现 Karaf 提供了EIK插件,它添加了 Karaf 框架 . 它还没有确定它支持 Kepler ...

还有 Pax-Runner-Eclipse-Ui ,它也不再更新 . 如果您使用此插件的最新可用版本,您会发现它提供了一组有限的配置,其中包括 EquinoxFelixConcierge 的多个版本 . AFAIK,这些设置直接打包在插件中, Target Platform 会自动显示's no way to add a custom one (like a Karaf configuration, for example). And anyway, that plugin is helpful for running your bundles in differents frameworks, but the bundles used at runtime won',因此您可以针对该特定框架进行开发 .

人们通常如何工作?我试图让事情工作好几个月,但我找不到一种方法可以在开发模式下轻松尝试一些堆栈 .

一些单一的包很容易使用(服务发现,蓝图注入......),但是即使在阅读了 OSGi in ActionEnterprise OSGi in Action 之后,拥有JSF,JPA和Transaction支持的完整堆栈也不是一件容易的事情 .

我错过了什么?