Java Bndtools和lombok“;包含一个未知的容器";

Java Bndtools和lombok“;包含一个未知的容器";,java,osgi,lombok,bndtools,Java,Osgi,Lombok,Bndtools,我最终完成了将应用程序的一部分移动到osgi捆绑包中,并在宿主应用程序中使用这些捆绑包。这真的很好用 目前,我正在用bndtools清理我的eclipse工作区并消除警告 我无法摆脱的一个警告是: Eclipse: The .classpath contains an unknown container: org.eclipse.jdt.USER_LIBRARY/lombok 我在我的一些包中使用了lombok。我只是将它添加到项目属性>java构建路径>库选项卡中。非常有用,因为lombok

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

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

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

Eclipse: The .classpath contains an unknown container: org.eclipse.jdt.USER_LIBRARY/lombok
我在我的一些包中使用了lombok。我只是将它添加到项目属性>java构建路径>库选项卡中。非常有用,因为lombok是eclipse中的编译时库。但这里的问题是,我确实得到了上述警告

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

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


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

警告意味着,尽管Eclipse知道由于lombok容器而要将JAR放在编译路径上,但脱机构建(如gradle)现在无法确定要将什么JAR放在类路径上。因此,该警告表明在Eclipse中构建和在Eclipse外部构建之间存在保真度问题

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

但是,您可以使用bnd文件中的
-fixupmessages
指令删除警告

-fixupmessages:“Eclipse:The.classpath包含未知容器:org.Eclipse.jdt.USER\u LIBRARY/lombok”

该警告意味着,尽管Eclipse知道由于lombok容器而要在编译路径上放置哪些JAR,但离线构建(如gradle)现在无法确定要在类路径上放置哪些JAR。因此,该警告表明在Eclipse中构建和在Eclipse外部构建之间存在保真度问题

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

但是,您可以使用bnd文件中的
-fixupmessages
指令删除警告

-fixupmessages:“Eclipse:The.classpath包含未知容器:org.Eclipse.jdt.USER\u LIBRARY/lombok”

感谢@BJ Hargrave在没有警告的情况下提供了整个工作区!fixupmessages配置选项成功了。感谢@BJ Hargrave在没有警告的情况下提供了整个工作区!fixupmessages配置选项实现了这一点。