1

我试图在一个普通的 Java 应用程序中运行多个 Equinox 实例。

目前,我正在我的应用程序中使用以下方法启动一个 Equinox 实例:

EclipseStarter.startup(new String[]{"-console", "-dev", "bin"}, null);

但是,对于需要大量启动、停止和更新包的新用例,这种方法已不够用。

相反,我希望能够同时拥有两个具有不同安装包的框架,并在必要时在它们之间进行交换。在某些情况下,我仍然需要停止并重新启动一些捆绑包,但这种方法可以解决大部分问题。

知道如何设置这种方法吗???

非常感谢您的帮助!

塞巴斯蒂安

4

2 回答 2

3

您不应该使用 EclipseStarter。使用 OSGi启动 API创建框架的多个实例。

于 2012-09-11T12:50:33.313 回答
0

您可以通过为每个实例使用不同的 ClassLoader 来创建多个静态实例。创建多个URLClassLoader,并将路径设置为包含 EclipseStarter 类的 JarFile。使用 ClassLoader 的 loadClass() 方法获取对 EclipseStarter 类对象的引用。

于 2012-09-11T12:08:50.230 回答