Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 第谷:';出口包装';从MANIFEST.MF中删除_Maven_Tycho - Fatal编程技术网

Maven 第谷:';出口包装';从MANIFEST.MF中删除

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

我们正在将构建系统从Ant迁移到Maven,我目前正在构建Eclipse插件。在做了一些研究之后,我决定使用TychoMaven插件进行构建。这并不简单,但我解决了除此之外的大部分问题

我在尝试构建依赖插件时出错。考虑到我有一些插件A和一个依赖于A的插件B(使用来自A的类)。这两个插件都是首先显示的(并且都有
eclipse插件

当我尝试生成“B”时,我得到以下生成错误:

[ERROR] Access restriction: The type Constants is not accessible due to restriction on class pathentry C:/maven/repository/...
我检查了很多次,但直到后来我才意识到我应该查看我的存储库中a.jarMANIFEST.MF,事实就是这样<由于某种原因,代码>导出包已从插件A的MANIFEST-MF中删除。我手动将丢失的导出添加到本地Maven存储库中的MANIFEST.MF中(只是为了确保这是真正的问题!),插件B的构建成功了


所以问题是:如何配置Tycho不删除内置插件中的导出包(或配置应该导出哪些包)?

结果表明,Tycho依赖于MANIFEST.MF属性的顺序。在我的例子中,
导出包
放在
导入包
之后,在本例中,Tycho在构建插件并重新生成MANIFEST.MF时丢弃了整个导出包属性。 一旦
导出包
放在导入包之前,一切正常,目标MANIFEST.MF按预期生成。第谷版本已试用:0.14.00.14.1

编辑

Eclipse Bugzilla上报告了该错误:

EDIT2


请参阅提交的bug的详细信息。真正的原因是缺少换行符,这在形式上是一个明显的错误。Tycho在解析过程中忽略了最后一行,因此导出包(最后一行)未包含在目标清单中。

结果表明,Tycho依赖于manifest.MF属性的顺序。在我的例子中,
导出包
放在
导入包
之后,在本例中,Tycho在构建插件并重新生成MANIFEST.MF时丢弃了整个导出包属性。 一旦
导出包
放在导入包之前,一切正常,目标MANIFEST.MF按预期生成。第谷版本已试用:0.14.00.14.1

编辑

Eclipse Bugzilla上报告了该错误:

EDIT2


请参阅提交的bug的详细信息。真正的原因是缺少换行符,这在形式上是一个明显的错误。Tycho在解析过程中忽略了最后一行,因此导出包(最后一行)未包含在目标清单中。

我认为您应该将其报告为错误。我认为您应该将其报告为错误。