sonar-runner бросает исключение Ubuntu

Я использую локальный сонар 3.5.1 для статистики моего кода для моего проекта java maven, используя mvn sonar:sonar. Но теперь я хочу использовать sonar-runner для того же самого. Итак, я установил sonar-runner 2.3 и установил переменную $PATH в Ubuntu, и теперь я могу протестировать его с помощью sonar-runner -h. Я добавил sonar-project.properties в корневой каталог проекта. и содержимое этого файла похоже на

# required metadata
sonar.projectKey=netsgear:analytix
sonar.projectName=analytix
sonar.projectVersion=1.0

# optional description
sonar.projectDescription=application analysis

# path to source directories (required)
sonar.sources=srcDir1,srcDir2

# The value of the property must be the key of the language.
sonar.language=java

# Encoding of the source code
sonar.sourceEncoding=UTF-8

# Additional parameters
sonar.my.property=value

сонар работает на localhost://9000. Но я выполняю "sonar-runner" из каталога моего проекта, он выдает исключение, вывод sonar-runner -X

INFO: SonarQube Server 3.5.1
13:06:50.497 ERROR rojectReactorBuilder - Invalid value of sonar.sources for 
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 0.483s
Final Memory: 3M/119M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
    at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
    at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
    at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
    at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
    at org.sonar.runner.api.Runner.execute(Runner.java:90)
    at org.sonar.runner.Main.executeTask(Main.java:70)
    at org.sonar.runner.Main.execute(Main.java:59)
    at org.sonar.runner.Main.main(Main.java:41)
Caused by: java.lang.IllegalStateException: The folder 'srcDir1' does not exist for  (base directory = /home/workspace/core)
    at org.sonar.runner.batch.ProjectReactorBuilder.checkExistenceOfDirectories(ProjectReactorBuilder.java:475)
    at org.sonar.runner.batch.ProjectReactorBuilder.cleanAndCheckModuleProperties(ProjectReactorBuilder.java:370)
    at org.sonar.runner.batch.ProjectReactorBuilder.cleanAndCheckProjectDefinitions(ProjectReactorBuilder.java:353)
    at org.sonar.runner.batch.ProjectReactorBuilder.build(ProjectReactorBuilder.java:130)
    at org.sonar.runner.batch.IsolatedLauncher.createBatch(IsolatedLauncher.java:60)
    at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:45)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87)
    ... 9 more

Могу ли я узнать причину


person user2215139    schedule 08.08.2013    source источник


Ответы (1)


Я предполагаю, что у вас есть ошибка в вашей конфигурации.

# path to source directories (required)
sonar.sources=srcDir1,srcDir2

Являются ли srcDir1 и srcDir2 действительно папками, в которых у вас есть исходные файлы? Кажется, вы скопировали конфиг из какого-то учебника и забыли вставить правильные имена папок.

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

# Additional parameters
sonar.my.property=value
person ssindelar    schedule 08.08.2013
comment
благодаря. Я починил это. Но теперь я получаю другое исключение, например, вызванное: Sonar не может проанализировать файл: '/home/netsgear/analytix_workspace/analytix/core/src/test/java/com/vxl/analytix/service/impl/TJobInstanceManagerImplTest.java' ОШИБКА: причина: исходный каталог не соответствует объявлению пакета com.vxl.analytix.service.impl - person user2215139; 08.08.2013
comment
Кажется, вы указали неправильный путь в sonar.sources. Предполагая, что «/home/netsgear/analytix_workspace/analytix/core/» является корневым путем проекта, а также что там находится sonar.properties, попробуйте «src/test/java» в качестве исходного каталога, если вы действительно хотите включить тестовые файлы в анализ. - person ssindelar; 08.08.2013
comment
да, он отлично работает, установив исходный каталог в src/main/java, спасибо за вашу большую поддержку - person user2215139; 08.08.2013