2015-06-17 3 views
2

Я пытаюсь запустить анализ сонара maven в моем многоязычном проекте, который содержит много языков, таких как * .java, * .groovy, * .js и т. Д. Я установил все языки плагина в мой сонар и настроил мой параметр pom sonar.sources как src/main,src/test, но все же он поднимает только java-файлы. На консольном выходе. я получаю следующие строки в консоли с указанием, что она сканирует только папки с рисунком src/main/java и src/test/javaАнализ сонара maven только выбирает файл .java

[INFO] [05:13:57.140] ------------- Scan myapp 
[INFO] [05:13:57.140] Load module settings 
[INFO] [05:13:57.187] Initializer FindbugsMavenInitializer 
[INFO] [05:13:57.187] Initializer FindbugsMavenInitializer (done) | time=0ms 
[INFO] [05:13:57.187] Base dir: C:\myapp 
[INFO] [05:13:57.187] Working dir: C:\myapp\target\sonar 
[INFO] [05:13:57.187] Source paths: pom.xml, src/main/java 
[INFO] [05:13:57.187] Test paths: src/test/java 

Я в настоящее время использую SonarQube 5.1, Java 7u80

Примечание: Если анализ проводится с помощью сонара Runner , Он сканирует все файлы.

ответ

1

Поскольку это был проект с несколькими модулями, мне пришлось включить свойства sonar.sources и sonar.tests в файл родительского модуля pom.xml.

<properties> 
    <sonar.sources>pom.xml,src/main,src/test</sonar.sources> 
    <sonar.tests></sonar.tests> 
</properties> 

sonar.tests параметр пуст, так как она не совместима с Maven.

+1

Странно: sonar.tests, похоже, отлично работает для меня (в SonarQube 4.5.5). Когда я делаю sonar.tests (с «src/test») вместе с sonar.sources (с «pom.xml, src/main»), я получаю поле «Успех блока» с кратким из проверок, которые были выполнены (и тестовый код не включается в общий анализ). Когда я просто включаю «src/test» в sonar.sources и оставляю sonar.tests пустым, тесты попадают в общий исходный код. –

2

С SonarQube 4.2 можно выполнить анализ на многоязычном проекте. Для этого необходимо удалить sonar.language property. И наоборот, если по какой-то причине вы хотите выполнить единственный анализ только для языка, убедитесь, что указан sonar.language.

По умолчанию свойства sonar.sources устанавливается на значение свойства Maven Исходный_каталога (по умолчанию это src/main/java) плюс pom.xml (а также src/main/webapp автоматически добавляются для военных модулей). Поэтому для многоязычного проекта свойство обычно должно быть переопределено на: sonar.sources=src/main,pom.xml.

+0

' http: // localhost: 9000 jdbc: mysql: // localhost: 3306/sonar гидролокатора гидролокатора com.mysql.jdbc.Driver < /sonar.jdbc.driver> src/main, src/test 'это текущая конфигурация в моем pom.xml и не имеет свойства' sonar.language'. – DDK

+0

первый предмет первый. 1. У вас работает сервер сонара? 2. Вы указали все свойства сонара в файле sonar.properties (например, веб-хост сонара, порт, база данных, учетные данные базы данных). 3. В вашем POM.xml вам не нужно указывать все эти свойства. для справки см. Pom.xml: https: //github.com/SonarSource/sonar-examples/tree/master/projects/languages/multi-language/multi-language-java-javascript-maven –

+0

1. да 2. Когда я не использую sonar runner, почему у меня должен быть файл sonar.properties? 3. Это проект с несколькими модулями, поэтому я нашел легким определение этих свойств в pom.xml – DDK