我在同一个套件中有几个 Eclipse RCP 应用程序,它们的可执行文件在同一个目录中。我想为每个都有一个不同的“插件”目录。
我可以这样做吗?如果可以,怎么做?
[我知道我也可以将所有插件放在同一个目录中并指定特定于版本的依赖项,但这是一种特殊情况。]
我在同一个套件中有几个 Eclipse RCP 应用程序,它们的可执行文件在同一个目录中。我想为每个都有一个不同的“插件”目录。
我可以这样做吗?如果可以,怎么做?
[我知道我也可以将所有插件放在同一个目录中并指定特定于版本的依赖项,但这是一种特殊情况。]
经过几个小时的阅读、实验和头撞,我能够让它发挥作用。我在 Stackoverflow 中找不到答案;希望这将有助于下一个人看。
首先,我重组了包含我的可执行文件的目录。可执行文件旁边有一个共享的“插件”目录。我在特定于应用程序的子目录中制作了它的副本,并删除了原始文件。
parent
foo.exe
foo.ini
foo
configuration
config.ini
plugins
bar.exe
bar.ini
bar
configuration
config.ini
plugins
接下来,我在每个 *.ini 文件的顶部-vmargs上方添加了类似于以下内容的设置。[您的版本号可能会有所不同。] 选项及其参数由换行符分隔。
-startup
foo/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
-install
foo
--launcher.library
foo/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813/eclipse_1503.dll
而这个现有的设置已经在-vmargs 之下。
-Dosgi.sharedConfiguration.area=file:configuration
注意:虽然这可行,但“配置”目录和-Dosgi.sharedConfiguration.area
设置是来自单个安装目录的不合时宜的东西。将 config.ini 放在插件目录旁边会更优雅,并省略设置。但是,我没有让那部分工作,并且可以忍受它。