Maven 第谷:';出口包装';从MANIFEST.MF中删除
我们正在将构建系统从Ant迁移到Maven,我目前正在构建Eclipse插件。在做了一些研究之后,我决定使用TychoMaven插件进行构建。这并不简单,但我解决了除此之外的大部分问题 我在尝试构建依赖插件时出错。考虑到我有一些插件A和一个依赖于A的插件B(使用来自A的类)。这两个插件都是首先显示的(并且都有Maven 第谷:';出口包装';从MANIFEST.MF中删除,maven,tycho,Maven,Tycho,我们正在将构建系统从Ant迁移到Maven,我目前正在构建Eclipse插件。在做了一些研究之后,我决定使用TychoMaven插件进行构建。这并不简单,但我解决了除此之外的大部分问题 我在尝试构建依赖插件时出错。考虑到我有一些插件A和一个依赖于A的插件B(使用来自A的类)。这两个插件都是首先显示的(并且都有eclipse插件) 当我尝试生成“B”时,我得到以下生成错误: [ERROR] Access restriction: The type Constants is not accessib
eclipse插件
)
当我尝试生成“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的构建成功了
所以问题是:如何配置Tycho不删除内置插件中的导出包(或配置应该导出哪些包)?结果表明,Tycho依赖于MANIFEST.MF属性的顺序。在我的例子中,
导出包
放在导入包
之后,在本例中,Tycho在构建插件并重新生成MANIFEST.MF时丢弃了整个导出包属性。
一旦导出包
放在导入包之前,一切正常,目标MANIFEST.MF按预期生成。第谷版本已试用:0.14.0,0.14.1
编辑
Eclipse Bugzilla上报告了该错误:
EDIT2
请参阅提交的bug的详细信息。真正的原因是缺少换行符,这在形式上是一个明显的错误。Tycho在解析过程中忽略了最后一行,因此导出包(最后一行)未包含在目标清单中。结果表明,Tycho依赖于manifest.MF属性的顺序。在我的例子中,
导出包
放在导入包
之后,在本例中,Tycho在构建插件并重新生成MANIFEST.MF时丢弃了整个导出包属性。
一旦导出包
放在导入包之前,一切正常,目标MANIFEST.MF按预期生成。第谷版本已试用:0.14.0,0.14.1
编辑
Eclipse Bugzilla上报告了该错误:
EDIT2
请参阅提交的bug的详细信息。真正的原因是缺少换行符,这在形式上是一个明显的错误。Tycho在解析过程中忽略了最后一行,因此导出包(最后一行)未包含在目标清单中。我认为您应该将其报告为错误。我认为您应该将其报告为错误。