0

我在尝试构建基于 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”项目中死亡。

4

2 回答 2

2

令牌是一种不能由 maven 依赖项表示的 netbeans 依赖项。通常,API 模块需要以这种方式实现,而实现模块具有常规的编译依赖性。对于模块系统默认值,请参阅http://bits.netbeans.org/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/api.html#how-vers

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

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

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

于 2013-12-20T06:21:00.120 回答
0

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

我通过清理所有内容然后从最不依赖到最依赖构建项目,直到我再次遇到错误,发现了有问题的项目。

于 2013-12-21T00:06:48.000 回答