Java 自动展开Eclipse插件jar

Java 自动展开Eclipse插件jar,java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,我的Eclipse插件需要作为平面目录展开执行(它使用JNI,JNI部分需要访问插件提供的一些文件)。如果插件安装为jar,是否可以将其配置为自动展开?。或者我唯一的选择是要求用户解压缩Eclipse dropins文件夹中的内容 如果无法自动展开插件jar,是否可以构建一个更新站点,配置为在dropins文件夹中安装插件并复制展开的插件?如果将插件打包为功能,则可以在中指定此行为。如果打包插件作为一项功能,您可以在中指定此行为。您可以在为插件项目创建功能项目时选中解包选项。您可以在为插件项目创

我的Eclipse插件需要作为平面目录展开执行(它使用JNI,JNI部分需要访问插件提供的一些文件)。如果插件安装为jar,是否可以将其配置为自动展开?。或者我唯一的选择是要求用户解压缩Eclipse dropins文件夹中的内容


如果无法自动展开插件jar,是否可以构建一个更新站点,配置为在dropins文件夹中安装插件并复制展开的插件?

如果将插件打包为功能,则可以在中指定此行为。

如果打包插件作为一项功能,您可以在中指定此行为。

您可以在为插件项目创建功能项目时选中解包选项。

您可以在为插件项目创建功能项目时选中解包选项。

最常用的方法是使用
org.osgi.framework.Bundle.getEntry(字符串)
然后
org.eclipse.core.runtime.FileLocator.toFileURL(URL)
getEntry(“/jni_lib/”)
将返回指向文件夹的URL,
FileLocator
将在必要时将请求的捆绑URL扩展到本地磁盘。如果您使用或不使用功能,如果磁盘上的插件导出或不导出,等等,此操作都有效


@vanaprogeja提出了第二个最常用的选项,并且需要功能才能工作(这是完全可以接受的)

最常用的方法是使用
org.osgi.framework.Bundle.getEntry(String)
,然后使用
org.eclipse.core.runtime.FileLocator.toFileURL(URL)
getEntry(/jni_lib/)
将返回指向文件夹的URL,
FileLocator
将在必要时将请求的捆绑URL扩展到本地磁盘。如果您使用或不使用功能,如果磁盘上的插件导出或不导出,等等,此操作都有效

@vanaprogeja提出了第二个最常见的选项,并且需要功能才能工作(这是完全可以接受的)