Eclipse RCP:如何处理bundle类路径中的库?

时间:2016-04-26 14:00:37

标签: eclipse-plugin eclipse-rcp classpath

我有一个Eclipse RCP应用程序,其中包含应用程序的bundle类路径中的库。 MANIFEST.MF看起来像这样:

...
Bundle-ClassPath: .,
  libs/commons-io-2.4.jar,
  libs/gson-2.3.1.jar,
  libs/log4j-1.2.17.jar,
  libs/slf4j-api-1.7.10.jar,
  libs/slf4j-log4j12-1.7.10.jar
...

当应用程序启动时(作为Eclipse外部的导出产品),这些库将被复制到文件夹configuration/org.eclipse.osgi/13/0/.cp/libs中。查看文件属性似乎这是在每个应用程序启动(?)时完成的。这种行为是否在某处记录并且可以受到影响(例如,定义从中加载这些库的自定义文件夹)?

1 个答案:

答案 0 :(得分:1)

将插件打包为Jar时即可完成此操作。如有必要,Eclipse-BundleShape: dir 会暂时将jar解包到此位置。

您可以指定将插件打包为目录,以便使用

不会发生这种情况
unpack

作为MANIFEST.MF中的条目(请参阅Eclipse help

注意:如果您使用功能构建RCP,则会被feature.xml中plugin条目的{{1}}选项覆盖