Java 如何修复丢失的令牌错误

Java 如何修复丢失的令牌错误,java,maven,netbeans,openide,Java,Maven,Netbeans,Openide,我在尝试构建基于maven的开放式ide应用程序时收到了以下消息: Some tokens required by included modules are not provided by included modules. The application will fail starting up. The missing tokens are: org.netbeans.modules.java.source.queries.spi.QueriesController

我在尝试构建基于maven的开放式ide应用程序时收到了以下消息:

Some tokens required by included modules are not provided by included modules. The application will fail starting up. The missing tokens are:
   org.netbeans.modules.java.source.queries.spi.QueriesController          ref: [org.netbeans.modules.java.source.queries]
   org.netbeans.api.editor.guards.Java          ref: [org.netbeans.modules.form]
   org.netbeans.modules.editor.actions          ref: [org.netbeans.modules.editor.lib2]
我试着在第一行找到答案,但我得到的只是错误出现的地方。有人能清楚地解释这个错误和/或告诉我如何修复它吗


注意:它没有指定是哪个模块引起的,但它在“app”项目中正在消亡。

令牌是一种不能用maven依赖项表示的netbeans依赖项。通常,API模块需要这样的实现,而实现模块具有常规编译依赖性。有关系统默认设置的模块,请参见

通常,您必须查看模块jar的清单,以找到哪个模块提供了哪个令牌

设置基于maven的应用程序的最简单方法是在nbm应用程序打包项目中包含足够的集群依赖项。(org.netbeans.cluster groupId)。然后,如果您不需要某些功能,慢慢地开始排除模块,看看它是否没有破坏任何功能


默认情况下,nbm应用程序项目依赖于“平台”集群,您显然还需要“ide”和“java”

这似乎意味着某些令牌(左侧)没有提供给需要它们的模块(右侧)。我通过grep NetBeans源代码查找令牌找到了所需的模块,并查找了以OpenIDE Module Provides开头的一行:,然后将该模块添加到有问题的项目中


我发现这个项目有问题,我清理了所有东西,然后从最不依赖的项目开始构建,直到我再次遇到错误。

谢谢你为我解释,这有助于解决问题。但是在项目的
pom.xml
中添加其他集群会使情况变得更糟,正如您所知。java集群可能需要一些其他集群(extide?使用webservices的东西?)才能工作。我一直在使用缺少的标记org.netbeans.modules.editor.actions。您能分享一下必须添加哪些依赖项吗?我必须添加以下集群:ide、java、extide、webcommon、WebVCCommon、org netbeans模块jemmy、org netbeans模块JellTools platform、org-netbeans-libs-junit4,以摆脱org.netbeans.modules.editor.actions。疯了!