声纳循环依赖问题

时间:2015-03-09 18:44:39

标签: sonarqube sonar-runner sonarqube-5.0 sonarqube-4.5 sonarqube-4.0

我从Sonar那里得到了很多违规行为,但我认为它们不是真正的周期。

例如,我有:

de.codeplumber.core.abc.core.Holder.java
de.codeplumber.core.xyz.core.User.java

Holder.java使用User.java作为其中一个属性,并具有用于获取和设置User对象的getter和setter。以下是Holder.java的代码

private User user = new User();
public User getUser() {
    return user ;
}
public void setUser(User user) {
    this.user = user;
}

现在,Sonar正在Holder.java中报告违规行为

删除对源文件“de / codeplumber / core / xyz / core / User.java”的依赖关系以打破包循环。

User.java包中对Holder.java的包没有反向依赖。

我不明白为什么声纳会报告这个问题。以前我在其他一些类中有循环依赖,我修复了它,因为存在直接的循环依赖。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

我发现这篇文章有助于理解问题https://dzone.com/articles/working-dependencies-eliminate

我正在使用IDE来预测循环依赖关系的分析。它给了我比声纳问题更多的细节。