Статьи

Настройка сонара с Maven

Sonar — это веб-приложение с открытым исходным кодом для управления качеством кода, охватывающее семь основных областей качества кода: архитектура и дизайн, комментарии, дубликаты, модульные тесты, сложность, потенциальные ошибки и правила кодирования. Разработан на Java и может охватывать проекты на Java, FlexPHPPL / SQLCobol и  Visual Basic 6 .

Навигация очень эффективна, предлагая визуальные отчеты, и вы можете следить за развитием метрик вашего проекта и комбинировать их.

Существует онлайн-проект под названием Nemo, посвященный проектам с открытым исходным кодом, так как вы можете увидеть такие проекты, как  JettyApache Lucene и  Apache Tomcat .

Итак, давайте настроим  Sonar для совместной работы с Maven . Прежде всего настройте сервер Sonar и другие настройки в файле Maven settings.xml :

<profile>   <id>sonar</id>   <activation>      <activeByDefault>true</activeByDefault>   </activation>   <properties>      <sonar.jdbc.url>jdbc:postgresql://localhost/sonar</sonar.jdbc.url>      <sonar.jdbc.driver>org.postgresql.Driver</sonar.jdbc.driver>      <sonar.jdbc.username>user</sonar.jdbc.username>      <sonar.jdbc.password>password</sonar.jdbc.password>      <!-- SERVER ON A REMOTE HOST -->      <sonar.host.url>http://localhost:9000</sonar.host.url>   </properties></profile>

Вы должны запустить сервер Sonar и определить его в  параметре sonar.host.url . В этом примере я использую URL-адрес сонара по умолчанию , http: // localhost: 9000 , и вы должны установить имя пользователя и пароль для своей базы данных. Для установки локального сервера Sonar вы можете увидеть эту ссылку .

После этого для запуска анализаторов кода и сохранения результатов в базе данных Sonar просто выполните mvn sonar: sonar. Вы можете настроить Sonar для выполнения в приложении CI (Continuous Integration).  Хадсон является  идеальным матчем , потому что есть плагин сонар для него. Смотрите окончательный результат ниже:

 

Я предпочитаю  Teamcity CI, но нет стабильного плагина, как вы можете видеть в  матрице совместимости . Чтобы решить проблему этого плагина, просто добавьте  sonar: sonar в команду maven, выполняемую  Teamcity .

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

Если у вас есть какие-либо вопросы или трудности,  свяжитесь со мной .