Dependencies Eclipse包依赖项解析

Dependencies Eclipse包依赖项解析,dependencies,osgi,bundle,manifest,pde,Dependencies,Osgi,Bundle,Manifest,Pde,我目前正在尝试编译我的EclipsePDE项目。这样做 我必须从Require Bundle中收集所有依赖项 在项目及其依赖项中找到的说明。现在我有 遇到一个问题,如果我想编译它,我的一个项目失败了 因为它引用了 org.eclipse.swt.win32.win32.x86bundle。问题似乎是 无法找到对org.eclipse.swt.win32.win32.x86的依赖项 解决 使用eclipse的dependency视图,我可以看到org.eclipse.ui 取决于org.eclip

我目前正在尝试编译我的EclipsePDE项目。这样做 我必须从Require Bundle中收集所有依赖项 在项目及其依赖项中找到的说明。现在我有 遇到一个问题,如果我想编译它,我的一个项目失败了 因为它引用了
org.eclipse.swt.win32.win32.x86
bundle。问题似乎是 无法找到对
org.eclipse.swt.win32.win32.x86
的依赖项 解决

使用eclipse的dependency视图,我可以看到
org.eclipse.ui
取决于
org.eclipse.swt
org.eclipse.swt
取决于
org.eclipse.swt.win32.win32.x86

我的问题是:

我不明白eclipse是怎么知道的
org.eclipse.swt
依赖于
org.eclipse.swt.win32.win32.x86
。这个
org.eclipse.swt
的清单文件没有必需的捆绑包 (或与捆绑包相关的其他信息)
org.eclipse.swt.win32.win32.x86
)语句。那它怎么知道

谢谢你的帮助


Tim

它是一种反向依赖,因为
org.eclipse.swt.win32.win32.x86
是一个片段包,由基本
org.eclipse.swt
包托管并扩展其API。SWT基本包是不寻常的,因为它根本不包含任何代码。。。一切都在特定于平台的片段中

这在PDE中起作用,因为基本捆绑包包含标题“EclipseExtensibleApi:true”。当PDE看到这个头时,它会搜索可以将API添加到基本捆绑包中的片段。不幸的是,如果您正在编写某种构建过程来自动化PDE构建,那么您将需要复制相同的逻辑


幸运的是,在构建时,您不需要担心编译的是哪个平台:所有类和方法的签名在受支持的平台上都是相同的,因此即使在Mac上编译,您也可以轻松地使用Win32片段进行编译(例如)。

确定。这对我很有帮助。谢谢你的回答。