Tycho 主机的可选依赖项在片段中不可用
我的主机插件声明了对另一个插件的可选依赖关系。在构建我的主机插件的片段时,Tycho找不到可选的必需插件。这意味着,由于无法解析可选依赖项中的类,因此会出现编译错误Tycho 主机的可选依赖项在片段中不可用,tycho,Tycho,我的主机插件声明了对另一个插件的可选依赖关系。在构建我的主机插件的片段时,Tycho找不到可选的必需插件。这意味着,由于无法解析可选依赖项中的类,因此会出现编译错误 如果我删除主机插件中的可选标志,Tycho构建就可以正常工作。我正在使用Maven 3.0.4和Tycho 0.15.0。我找到了一个解决方法。我删除了主机插件中的可选插件,并通过清单编辑器将其添加到片段中。之后,我把它读给主机插件,并再次声明它是可选的。 (如果插件已经在主机插件中声明,那么通过清单编辑器的add按钮在片段中看不到
如果我删除主机插件中的可选标志,Tycho构建就可以正常工作。我正在使用Maven 3.0.4和Tycho 0.15.0。我找到了一个解决方法。我删除了主机插件中的可选插件,并通过清单编辑器将其添加到片段中。之后,我把它读给主机插件,并再次声明它是可选的。 (如果插件已经在主机插件中声明,那么通过清单编辑器的add按钮在片段中看不到它)
但我认为这是第谷的一个错误。与eclipse中一样,片段中也必须有可选的依赖项 我找到了一个解决办法。我删除了主机插件中的可选插件,并通过清单编辑器将其添加到片段中。之后,我把它读给主机插件,并再次声明它是可选的。 (如果插件已经在主机插件中声明,那么通过清单编辑器的add按钮在片段中看不到它)
但我认为这是第谷的一个错误。与eclipse中一样,片段中也必须有可选的依赖项 我还不确定这是否真的是第谷的一个bug,或者更确切地说是出于设计 这是可观察行为的背景:Tycho的目标是以与p2在安装捆绑包时相同的方式解决其依赖关系。当您声明捆绑包的可选依赖项时,p2不会安装该捆绑包(除非其他捆绑包或功能对该捆绑包具有非可选依赖项)。因此,遵循这个规则,TyCHO也不会考虑依赖性解析和类路径计算中的这种可选依赖性。 但是,存在一个偏离默认p2行为的开关(在
目标平台配置
配置选项依赖项解析/可选依赖项
):
- 使用值
,当前捆绑包的所有可选依赖项在编译时都被视为所需。因为这是您通常想要的,这是默认值require
- 使用值
,在编译时将忽略当前捆绑包的所有可选依赖项ignore
- 还要在片段的清单中添加可选依赖项。最简单的方法是使用文本编辑器。严格地说,这是正确的做法:片段确实应该声明自己的依赖项,而不是依赖于其他地方的声明。但由于PDE不要求您这样做,所以第谷是否应该这样做是值得怀疑的
- 通过在片段中添加显式的仅编译时依赖项
目标平台配置
配置选项依赖项解析/可选依赖项
):
- 使用值
,当前捆绑包的所有可选依赖项在编译时都被视为所需。因为这是您通常想要的,这是默认值require
- 使用值
,在编译时将忽略当前捆绑包的所有可选依赖项ignore
- 还要在片段的清单中添加可选依赖项。最简单的方法是使用文本编辑器。严格地说,这是正确的做法:片段确实应该声明自己的依赖项,而不是依赖于其他地方的声明。但由于PDE不要求您这样做,所以第谷是否应该这样做是值得怀疑的
- 通过在片段中添加显式的仅编译时依赖项