我终于将我的应用程序的一部分移动到osgi包中,并在我的宿主应用程序中使用这些包。这非常好用!
目前我正在使用bndtools清理我的eclipse工作区并摆脱警告。
我无法摆脱的一个警告是:
Eclipse: The .classpath contains an unknown container: org.eclipse.jdt.USER_LIBRARY/lombok
我在一些捆绑包中使用了lombok。我只是将它添加到项目属性> java build path>库标签。工作很棒因为lombok是一个用于eclipse编译时的库。但问题是我确实得到了上述警告。
我在我的本地bndtools存储库(存储库视图)中添加了一些外部jar(带有包信息),然后可以将jar添加到bndtools构建路径中,例如gson。
但是lombok似乎没有任何osgi包信息,所以将它添加到本地存储库会给我一个错误“Jar没有符号名称”。
当然我可以编辑lombok.jar并添加包信息。但我想知道是否有更清洁的方法来做到这一点?
答案 0 :(得分:4)
警告意味着虽然Eclipse知道由于lombok容器而放置在编译路径上的jar,但是离线构建(例如gradle)现在无法将类似路径放在jar路径上。因此,警告表明在Eclipse中构建和在Eclipse之外构建之间存在保真度问题。
将所有编译jar放在项目的-buildpath
文件的bnd.bnd
指令中意味着Eclipse和非Eclipse构建之间的保真度。
但是,您可以使用bnd文件中的-fixupmessages
指令删除警告。
-fixupmessages: "Eclipse: The .classpath contains an unknown container: org.eclipse.jdt.USER_LIBRARY/lombok"