<sonar.exclusions> в pom.xml(многомодульный проект Maven) работает локально, но не на сервере компании

Я использую <sonar.exclusions> в pom.xml, чтобы исключить определенные пакеты для покрытия кода unit test. Я создал "Сонар" локально, и исключения отражают отчет. Но тогда такие же исключения не выполняются на сервере компании.

Я использую <sonar.skippedModules>, который работает по назначению и пропускает необходимые модули в обеих средах.

Локальная версия Sonar - версия 4.3.1. Версия Sonar для версии - Версия 4.1.2.

Пример того, как я написал <sonar.skippedModules> в одном из модулей:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.mainClass>.....</project.mainClass>
    <sonar.exclusions>
        /src/main/java/../../../../../Package1/*,
        /src/main/java/../../../../../Package2/*,
        /src/main/java/../../../../../JavaClass1.java
    </sonar.exclusions>
    <sonar.language>java</sonar.language>
</properties>

Не могли бы вы помочь мне понять, почему <sonar.exclusions> соблюдается только локально, но не тогда, когда я создаю задание (настроенное на Дженкинса) на генерировать отчет Sonar на сервере компании? Есть ли разница в версии?

Может ли разница в значении новой строки после запятой, чтобы отделить имена пакетов?

Ответы

Ответ 1

Попробуй, у меня была такая же проблема, и это сработало для меня

Не начинайте с "/src/main/java/" Вместо этого начните с "com/companyname/projectname/"

Я лично предпочитаю "**com/companyname/projectname/../**"

Ответ 2

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