我们正在将构建系统从 Ant 迁移到 Maven,我目前正在构建 Eclipse 插件。在做了一些研究之后,我决定使用 Tycho Maven 插件来进行构建。这并不简单,但我解决了除此之外的大多数问题。
尝试构建依赖插件时出现错误。考虑我有一些插件 A 和一个依赖于 A 的插件 B(使用 A 中的类)。这两个插件都是清单优先的(并且有<packaging>eclipse-plugin</packaging>
)。
当我尝试构建“B”时,出现以下构建错误:
[ERROR] Access restriction: The type Constants is not accessible due to restriction on class pathentry C:/maven/repository/...
我检查了很多次,但直到后来我才意识到我应该看看我的存储库中A.jar的MANIFEST.MF,情况就是这样。由于某种原因已从插件A的 MANIFEST-MF 中删除。我在本地 Maven 存储库中手动将缺少的导出添加到 MANIFEST.MF(只是为了确保这是真正的问题!),并且插件B的构建成功!Export-Package
那么问题来了:如何在构建的插件中配置 Tycho不移除Export-Package(或者配置应该导出哪些包)?