我的最终目标是Invoking Eclipse plugin from Java。我看到一个Eclipse插件在MANIFEST.MF
中将一个类注册为Bundle-Activator
。将对此类调用start(BundleContext context)
方法。这通电话是从哪里打来的?
ECLIPSE由许多主要反映在GitHub上的repos组成。其中一些是不受欢迎的,并指出了其他的建议。它同时是一个编程IDE和一个OSGi框架吗?我发现很难找到框架中处理插件加载的这个核心部分的代码。它在哪里?
1条答案
按热度按时间zour9fqk1#
与OSGi捆绑包交互的项目是Eclipse Equinox。它是OSGi框架的实现。启动Equinox并从那里加载包JAR,而不是将它们放到常规类路径中。
在这里,您可以找到一些一般的操作信息:http://njbartlett.github.io/2011/07/03/embedding-osgi.html
然后,您可以从您的纯Java应用程序与捆绑包进行交互。然而,这并不是一件容易的事情。
让事情变得更复杂的是,Eclipse不是普通的OSGi。ECLIPSE早于OSGi,许多概念仍然不能完全适应普通的OSGi。因此,在普通的Java应用程序中使用eclipse插件可能非常困难。
我建议在你想要使用的插件的邮件列表上询问你是否有在eclipse之外使用它的经验。