1

我终于完成了将我的应用程序的一部分移动到 osgi 包中,并在我的主机应用程序中使用这些包。这真的很好用!

目前我正在使用 bndtools 清理我的 eclipse 工作区并消除警告。

我无法摆脱的一个警告是:

Eclipse: The .classpath contains an unknown container: org.eclipse.jdt.USER_LIBRARY/lombok

我在我的一些捆绑包中使用了 lombok。我只是将它添加到项目属性 > java 构建路径 > 库选项卡中。很好用,因为 lombok 是 Eclipse 中用于编译时间的库。但这里的问题是我确实收到了上述警告。

我在本地 bndtools 存储库(存储库视图)中添加了一些外部 jar(带有捆绑信息),然后可以将这些 jar 添加到 bndtools 构建路径,例如 gson。

但是 lombok 似乎没有任何 osgi 捆绑信息,因此将其添加到本地存储库会给我一个错误“Jar 没有符号名称”。

当然,我可以编辑 lombok.jar 并添加捆绑信息。但我想知道是否有更清洁的方法来做到这一点?

4

1 回答 1

5

该警告意味着,虽然由于 lombok 容器,Eclipse 知道要放在编译路径上的 jar,但离线构建(例如 gradle)现在无法知道要放在类路径上的 jar。因此,警告表明在 Eclipse 中构建和在 Eclipse 之外构建之间存在保真度问题。

把所有的编译jar都放在-buildpath项目文件的指令中,bnd.bnd意味着Eclipse和非Eclipse构建之间的保真度。

-fixupmessages但是,您可以使用bnd 文件中的说明删除警告。

-fixupmessages: "Eclipse: The .classpath contains an unknown container: org.eclipse.jdt.USER_LIBRARY/lombok"

于 2015-12-13T15:15:43.147 回答