如何确保eclipse插件需要捆绑包?

时间:2013-05-09 17:44:37

标签: eclipse-plugin osgi

我刚刚开始开发一个新的eclipse插件,我希望在Eclipse中运行一个Web应用程序服务器。我发现了一个很好的博客OSGi as a Web Application Server,它描述了如何做到这一点。作者建议为我的捆绑需求创建一个目标环境,其中一些捆绑包从Equinox Project SDK(现在称为Juno的Equinox目标组件)中获取。我注意到当我的目标平台是我在教程中创建的平台时,教程项目运行正常,但是当它是默认平台时无法启动。所以,现在我的问题......

如果我需要不属于默认值的捆绑包,我的插件项目将如何访问这些捆绑包?我是否需要将它们与我的插件一起部署?我怎么知道用户的eclipse是否已经拥有这些必需的包?

2 个答案:

答案 0 :(得分:1)

您不清楚自己正在开发什么样的应用程序。在Eclipse IDE中作为插件运行Web服务器对我没有任何意义。这种服务器应用程序最好只运行在Equinox之上。

无论如何,正确的方法是创建“产品配置”文件并添加包含所需捆绑包的类别(转到文件/插件开发/产品配置)。

使用此文件,您可以运行产品的实例(在IDE中)并可以将其导出(创建包含所有所需捆绑包的zip)

如果您希望用户能够在其IDE中安装插件,则必须创建P2存储库(使用目标定义文件)并在Http服务器中公开导出的目录。您可以研究Tycho以maven风格构建这种组件。

答案 1 :(得分:0)

嗯,我不确定再次发明轮子是否足够。 您可以查看Pax-Web获取有关如何操作的灵感,或者查看Apache Karaf作为OSGi-Container(使用Pax-Web)。或者甚至更好地开始为两者中的一个做出贡献: - )