我们的团队使用Maven管理Java项目。我们有一个策略,即存储库的master
分支上的所有代码都应该:
-SNAPSHOT
版本(使用Maven Release插件创建版本)-SNAPSHOT
上。 这在IntelliJ IDEA(版本15,版本143.1821.5)中有一个不幸的后果。假设Maven工件A依赖于Maven工件B的某些发布版本,比如说1.2.3
。不过,B
上master
的当前代码将类似于1.2.4-SNAPSHOT
。如果我在IDEA中加载A
和B
的来源,请转到B
中使用的A
中的课程,并执行Find Usages
(按住Ctrl键单击班级名称或Alt-7
),找不到任何结果。但是,如果我在IDE中导航到1.2.4
版本的反编译类文件并执行Find Usages
,它会在A
中找到用法。
我理解为什么会发生这种情况---代码的-SNAPSHOT
版本确实没有被A
使用---但这种程度的挑剔使Find Usages
接近Maven工件无用。但是,我似乎记得在最近的某些时候,IDEA的Find Usages
并不那么挑剔。不幸的是谷歌搜索并没有提到任何提到这个问题的人或提到IDEA行为的变化,所以现在我们认为我们只是想象以前的行为。
那么,有没有人知道如何让IDEA在执行Find Usages
时忽略Maven模块上的版本不匹配?我们之前已经启用了一些设置,我们现在无法找到?