Eclipse RCP:如何处理包 class 路径中的库?
Eclipse RCP: How are libraries in the bundle class path handled?
我有一个 Eclipse RCP 应用程序,其库位于应用程序的 class 路径中。 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
中。查看文件属性,似乎这是在每次应用程序启动时完成的(?)。这种行为是否在某处记录在案并且会受到影响(例如,定义一个自定义文件夹,从中加载这些库)?
这是在将插件打包为 Jar 时完成的。 FileLocator.toFileURL
如有必要,将暂时将 jar 解压到此位置。
您可以指定将插件打包为目录,这样使用
就不会发生这种情况
Eclipse-BundleShape: dir
作为 MANIFEST.MF 中的一个条目(参见 Eclipse help)
注意:如果您正在使用功能构建 RCP,这将被 [=26] 中 plugin
条目的 unpack
选项覆盖=]
我有一个 Eclipse RCP 应用程序,其库位于应用程序的 class 路径中。 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
中。查看文件属性,似乎这是在每次应用程序启动时完成的(?)。这种行为是否在某处记录在案并且会受到影响(例如,定义一个自定义文件夹,从中加载这些库)?
这是在将插件打包为 Jar 时完成的。 FileLocator.toFileURL
如有必要,将暂时将 jar 解压到此位置。
您可以指定将插件打包为目录,这样使用
就不会发生这种情况Eclipse-BundleShape: dir
作为 MANIFEST.MF 中的一个条目(参见 Eclipse help)
注意:如果您正在使用功能构建 RCP,这将被 [=26] 中 plugin
条目的 unpack
选项覆盖=]