IntelliJ"查找用法"和Maven工件

Rya*_*ard 7 intellij-idea maven

我们的团队使用Maven管理Java项目.我们有一个策略,即master存储库分支上的所有代码应该:

  1. 本身有一个-SNAPSHOT版本(版本是使用Maven Release插件创建的)
  2. Maven依赖只在发行版上,而从不在-SNAPSHOTs上.

这在IntelliJ IDEA(版本15,版本143.1821.5)中有一个不幸的结果.假设Maven工件A依赖于Maven工件B的某些发布版本,比如说1.2.3.但是,Bon 的当前代码master将是类似的1.2.4-SNAPSHOT.如果我为IDEA ABIDEA 加载源代码,请转到B其中使用的类A,并执行Find Usages(按住Ctrl键单击类名称或Alt-7),但未找到任何结果.但是,如果我在IDE中导航到反编译的类文件以进行1.2.4发布,那么Find Usages它会找到用法A.

我理解为什么会发生这种情况--- -SNAPSHOT代码的版本确实没有被使用A---但是这种程度的挑剔使Find UsagesMaven工件几乎无用.但是,我似乎记得在最近的某些时候,IDEA Find Usages并不那么挑剔.不幸的是谷歌搜索没有提到任何其他人提到这个问题或提到IDEA行为的变化,所以现在我们认为我们只是想象以前的行为.

那么,有没有人知道如何让IDEA在做Find Usages什么时忽略Maven模块上的版本不匹配?我们之前已经启用了一些设置,我们现在找不到了吗?

vik*_*eve 1

我认为你这样做是错误的。

根据定义,MASTER 分支应该是已发布版本(无 -SNAPSHOT)。

您想与您的团队交谈并检查您的构建和发布流程。

阅读 git-flow 分支模型,了解有关分支策略的更多信息。