Не удается запустить анализ SonarQube для двух проектов с одинаковыми идентификаторами?

У меня есть ситуация, когда у меня есть два проекта. Для одного проекта я успешно могу провести анализ. Второй проект новый, и он полностью использует код, ту же структуру и те же модули, что и проект 1, и мы можем сказать, что это расширение проекта 1. Пока я выполняю анализ кода, он говорит, что модули уже являются частью проекта 1.

[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.7.1:sonar
         (default-cli) on project citi-sgp-au:
         Module "com.xxxx.xxxx:xxxxxx" is already part of project "xxxx-xxx-xxx222"
         -> [Help 1]

Любое руководство по этому поводу?


person Anil Kumar    schedule 24.11.2015    source источник


Ответы (2)


SonarQube не может анализировать 2 разных проекта с одинаковым идентификатором (например, groupId и artifactId).

Вы можете изменить идентификатор одного из двух проектов или использовать свойство sonar.branch.

Из SonarQube Wiki:

sonar.branch — управление ветвями SCM. Две ветки одного и того же проекта считаются в SonarQube разными проектами. Как следствие, проблемы, обнаруженные в проекте A в ветке B1, не связаны с проблемами, обнаруженными в этом проекте A в ветке B2. В настоящее время нет возможности автоматически решать проблемы B2, когда они решаются в B1, так как снова A-B1 и A-B2 считаются отдельными проектами.

person agabrys    schedule 29.11.2015

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

Таким образом, решение состоит в том, чтобы убедиться, что модули вашего 2-го проекта имеют уникальные ключи.

Примечание: если вы используете Maven, это очень просто: просто убедитесь, что ваш второй проект имеет другой идентификатор группы.

person Fabrice - SonarSource Team    schedule 24.11.2015