0

Я получаю от Sonar много этих нарушений, но я думаю, что они на самом деле не являются циклами.Вопрос о циклической проблеме сонара

Так, например, у меня есть:

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

Держатель .java использует User.java как одно из свойств и имеет getter и setter для получения и установки объекта User. Ниже приведен код для Holder.java

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

Теперь Сонар сообщает о нарушении в Holder.java

Удалите зависимость от исходного файла «де/codeplumber/ядро ​​/ хуг/ядра/пользователя. java ", чтобы разбить пакетный цикл.

От пакета Holder.java от пакета User.java не существует обратной зависимости от пакета.

Я не понимаю, почему гидролокатор сообщает об этой проблеме. Раньше у меня была циклическая зависимость в некоторых других классах, и я исправил ее, поскольку существует прямая циклическая зависимость.

Любая помощь приветствуется.

+0

Пожалуйста, поделитесь соответствующим кодом для обоих классов, если вы показываете только одну сторону предполагаемого цикла, мы не можем сказать, есть ли вообще. – Mithfindel

+0

Существует несколько других настроек, которые возвращают/string в Holder.java и Name - это еще один класс класса значений с геттером и установщиком без обратной ссылки на пакет Holder.java. Я видел еще один справочный пост на гидролокаторе, и там тоже нет четкого ответа от них. Http://sonarqube.15.x6.nabble.com/squid-Avoid-cycle-between-java-packages-td5017551.html –

ответ

0

Я нашел эту статью ПОЛЕЗНЫЕ понять проблему https://dzone.com/articles/working-dependencies-eliminate

Я использую IDE для преформ анализа на циклических зависимостей. Это дает мне больше деталей, чем проблема сонара.

 Смежные вопросы

  • Нет связанных вопросов^_^