2013-05-09 44 views
0

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

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

回答

1

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

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

有了这个文件,你可以运行该产品的一个实例(IDE内),并可以将其导出(创建一个包含所有需要捆绑一个zip)

如果你想能你的用户安装里面的插件了IDE必须创建一个P2存储库(使用目标定义文件)并在Http服务器中公开导出的目录。您可以研究一下Tycho以maven风格构建这种组件。

+0

插件中的应用程序服务器有很好的理由,但您回答了问题的症结所在:产品配置加上p2足以让我回到正确的轨道......谢谢! – harschware 2013-05-10 21:06:45

0

嗯,我不确定是否重新发明轮子是否足够。 你可以看看Pax-Web获取灵感,或者看看Apache Karaf作为OSGi容器(使用Pax-Web)。或者甚至更好地开始贡献于其中的一个:-)

+0

谢谢,但你误解了我的问题,重点不在于构建什么样的插件,而是我为用户做了什么,当我构建的eclipse插件需要不属于默认目标平台的包时。我在插件中运行servlet的事实只对这个问题很重要,因为如果想阅读教程,他们可以验证我所描述的问题(本教程包含Elipse Project SDK中未在默认目标中找到的包平台)。 – harschware 2013-05-10 16:53:04

相关问题