首页 > 解决方案 > NetBeans 无法识别依赖项是本地项目 - 如何修复?

问题描述

我有两对在 NetBeans 中开发的项目,它们都有一个 GUI 项目和一个库项目,其中 GUI 项目依赖于库之一。在其中一个中,NetBeans 识别出依赖项是本地的,并用 Ma 符号表示,如下所示,依赖项项目为绿色:

NetBeans 显示它识别出依赖是本地的

这提供了一些不错的功能,最值得注意的是 GUI 项目中的“导航到”(ctrl+单击)功能将我带到库项目中的源代码。我也不必为 GUI 项目手动重建库项目来获取任何更改。

但是,对于另一对项目,NetBeans 会发现依赖项位于我的本地 Maven 存储库中,但不会识别源代码是它也已打开的 Maven 项目:

NetBeans 无法识别依赖项是本地的

我尝试查看所有右键单击菜单选项,从 NetBeans GUI 中删除并重新添加依赖项,比较 pom.xml,比较 nb-actions.xml 和 nb-configuration.xml,但找不到任何解释为什么一个图书馆被认为是本地的,而另一个不是。我在网上找到的唯一信息是http://wiki.netbeans.org/MavenBestPractices,其中指出:

"提示:如果你打开了其他项目依赖的项目,其他项目中的图标会变成“maven项目”图标,表示IDE知道项目之间的链接。但是只有当groupId, artifactId 和 version 在依赖项和项目声明中都匹配。经常出现的问题是您在库项目中更改了 API 签名,但应用程序没有启动。通常是由于应用程序使用的是旧版本的库神器。神器图标可以帮助您追踪这些问题。

但是,我已经验证了 GUI 项目的 pom.xml 依赖于库项目中正在构建的版本,甚至使 GUI 项目和库之间的版本相同,并且“maven 项目”图标仍然没有出现。

有谁知道如何调试这个问题,或者是否有一个神奇的设置我错过了如何使这个链接工作?我一直在尝试使用 NetBeans 8.2 和 8.1,并且正在为成功的项目对和不成功的项目使用 Java 8 进行编译。

标签: mavennetbeansjava-8dependency-managementnetbeans-8

解决方案


几年后重新审视这个项目,我终于找到了一种方法来让依赖项在本地连接。

更改依赖项的工件 ID,并更新依赖项以匹配新名称。

诚然,这是绕过根本问题而不是解决它,但鉴于无法查明根本原因,这似乎是目前最好的选择。


推荐阅读