maven - NetBeans 无法识别依赖项是本地项目 - 如何修复?
问题描述
我有两对在 NetBeans 中开发的项目,它们都有一个 GUI 项目和一个库项目,其中 GUI 项目依赖于库之一。在其中一个中,NetBeans 识别出依赖项是本地的,并用 Ma 符号表示,如下所示,依赖项项目为绿色:
这提供了一些不错的功能,最值得注意的是 GUI 项目中的“导航到”(ctrl+单击)功能将我带到库项目中的源代码。我也不必为 GUI 项目手动重建库项目来获取任何更改。
但是,对于另一对项目,NetBeans 会发现依赖项位于我的本地 Maven 存储库中,但不会识别源代码是它也已打开的 Maven 项目:
我尝试查看所有右键单击菜单选项,从 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 进行编译。
解决方案
几年后重新审视这个项目,我终于找到了一种方法来让依赖项在本地连接。
更改依赖项的工件 ID,并更新依赖项以匹配新名称。
诚然,这是绕过根本问题而不是解决它,但鉴于无法查明根本原因,这似乎是目前最好的选择。
推荐阅读
- vba - 根据整个列的条件计算不同值的数量
- python-2.7 - 双变量概率分布的可视化
- php - php中的MySQL提取查询
- java - 二维数组仅显示文本函数中的最后一个元素
- c# - 理解 C# 中的线程
- pytorch - 在 Windows 上打开张量板保存的标量
- abap - 调用 MM42,在 SAPLCTMS 中为 atnam 和 atwrts 分配变量 - 有经验吗?
- python - SQLite3 在一个 SELECT 语句中获取多列(python)
- javascript - 如何自动加载函数Javascript
- react-native - React Native - 如何在本机和 Web 的文件中分离模块?