如何在eclipse中插入特定于平台的代码?

如何在eclipse中插入特定于平台的代码?,eclipse,plugins,Eclipse,Plugins,我正在开发一个基于eclipse的应用程序,它由几个插件组成。其中一个插件执行计算密集型任务,因此我想为我支持的一些平台提供一个“本机”实现。最好的方法是什么 我在考虑一个基本插件(它提供了默认的实现)扩展一些片段(以提供特定于平台的实现)。但是,基本插件如何知道可用的片段呢?Eclipse插件是用Java编写的。因此,您需要做的是检索操作系统信息 如果您滚动到的底部,您将看到一个执行此操作的代码。您可以在主插件中编写一个类似于fromorg.eclipse.core.filesystem的类。

我正在开发一个基于eclipse的应用程序,它由几个插件组成。其中一个插件执行计算密集型任务,因此我想为我支持的一些平台提供一个“本机”实现。最好的方法是什么


我在考虑一个基本插件(它提供了默认的实现)扩展一些片段(以提供特定于平台的实现)。但是,基本插件如何知道可用的片段呢?

Eclipse插件是用Java编写的。因此,您需要做的是检索操作系统信息


如果您滚动到的底部,您将看到一个执行此操作的代码。

您可以在主插件中编写一个类似于from
org.eclipse.core.filesystem
的类。它加载一个实现其本机方法集的库。然后,它向系统提供一个门面,该门面使用本机实现(如果可用),但对于没有本机实现的平台,它具有一些默认功能

然后,每个平台片段只提供适当的本机DLL或.so


让片段提供服务还有其他选择,可以由主机插件检索。

是的,Eclipse插件是用java编写的,这就是为什么我想使用JNI并编写一些本机代码来加速计算密集型任务。此外,我还计划指定
eclipseplatformfilter:
,以确保每个平台只加载正确的片段。但是,我无法让“基本”插件知道这些片段(并使用它们执行计算密集型任务)。请检查我上面建议的链接,让我们知道这是否是您正在寻找的。我不想在单个插件中检测平台。相反,我希望使用eclipse工具来加载正确的片段。这样,如果我想支持一个新的平台,我只需要发布一个新的片段(所有其他用户都不受此更改的影响)。