Я получаю от 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 не существует обратной зависимости от пакета.
Я не понимаю, почему гидролокатор сообщает об этой проблеме. Раньше у меня была циклическая зависимость в некоторых других классах, и я исправил ее, поскольку существует прямая циклическая зависимость.
Любая помощь приветствуется.
Пожалуйста, поделитесь соответствующим кодом для обоих классов, если вы показываете только одну сторону предполагаемого цикла, мы не можем сказать, есть ли вообще. – Mithfindel
Существует несколько других настроек, которые возвращают/string в Holder.java и Name - это еще один класс класса значений с геттером и установщиком без обратной ссылки на пакет Holder.java. Я видел еще один справочный пост на гидролокаторе, и там тоже нет четкого ответа от них. Http://sonarqube.15.x6.nabble.com/squid-Avoid-cycle-between-java-packages-td5017551.html –