如何更改 Eclipse OSGi Framework Launcher 使用的 OSGi Launcher Jar

How to change the OSGi Launcher Jar used by the Eclipse OSGi Framework Launcher

在我们的项目中,我们使用 IBM J9 Java VM 和旧版本的 Equinox OSGi 框架 (org.eclipse.osgi_3.6.1.R36x_v20100806.jar) .是否可以将此组合与 Eclipse OSGi 框架启动器一起使用?我尝试了查看内容,但找不到方法。

当我启动 OSGi 框架 运行 配置并检查执行的命令行时,我可以看到以下内容:

"E:\SVN\trunk3\j9.4_ppro11\win32\bin\j9"
"-Dcom.ibm.oti.vm.exe=E:\SVN\trunk3\j9.4_ppro11\win32\bin/j9"
"-Djava.home=E:\SVN\trunk3\j9.4_ppro11\win32\bin/.."
"-Dcom.ibm.oti.vm.bootstrap.library.path=E:\SVN\trunk3\j9.4_ppro11\win32\bin/"
"-Djava.library.path=E:\SVN\trunk3\j9.4_ppro11\win32\bin"
-Xjcl:jclfoun11_24
-Dosgi.noShutdown=true
-Declipse.ignoreApp=true
-Declipse.enableStateSaver=false
-Dorg.osgi.framework.bootdelegation=javax.*
-Dfile.encoding=Cp1252
-classpath E:\Eclipse\eclipse-java-mars-2-win32-x86_64\plugins\org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar org.eclipse.equinox.launcher.Main
-dev "file:E:/SVN/trunk3/.metadata/.plugins/org.eclipse.pde.core/Internal/dev.properties"
-configuration "file:E:/SVN/trunk3/.metadata/.plugins/org.eclipse.pde.core/Internal/"

有趣的是倒数第三行(-classpath ...)。您可以看到启动器从我的 Eclipse 安装中执行 Equinox jar。

是否可以更改此设置以便启动器执行我的 OSGi 启动器?

例如

-classpath E:\SVN\trunk3\osgi\org.eclipse.osgi_3.6.1.R36x_v20100806.jar org.eclipse.equinox.launcher.Main

OSGi 启动器也应该能够 运行 旧的 Equinox 版本。它搜索 org.eclipse.equinox.launcher 包以在这些位置(按此顺序)启动 OSGi 运行time:

  • 工作区
  • 目标平台
  • 在 运行ning Eclipse 实例的已安装包中

如果您将来自 Equinox 3.6.1 的启动程序包版本放入您的目标平台,该框架应该会启动。