SonarQube Findbugs "нужны исходники для компиляции"
Я пытаюсь заставить работать SonarQube findbugs, но когда я пытаюсь запустить его, я получаю сообщение об ошибке: "Findbugs нужны исходные коды для компиляции. Пожалуйста, соберите проект перед выполнением sonar и проверьте расположение скомпилированных классов".
sonar.sources установлен в папку со всеми моими файлами src, а sonar.binaries установлен в папку со всеми моими файлами класса и jar. Этот макет работает с findbugs для одного из моих проектов, но в другом я получаю вышеуказанную ошибку.
Это ошибка отладки, которая возникает, когда FindBugs не запускается: http://pastie.org/9483921
Как я могу это исправить, и есть ли определенная папка, для которой FindBugs нужны классы /jars для работы?
Благодарю.
5 ответов
Добавить недвижимость
sonar.binaries=${workspace}/proy/build/
Конфигурация сонара. Если вы используете несколько проектов для сборки, используйте разделенную кому.
SonarQube требует сборки исходного кода перед его анализом. Это будет отличаться в зависимости от того, как вы его строите, но проверьте здесь и нажмите на вашей строительной платформе.
Например: если вы использовали SonarQube для анализа проекта с Maven, вы должны выполнить следующие команды в следующем порядке (при условии, что вы выполнили шаги в соответствии с этой страницей конфигурации maven, которая указана в качестве опции в первой ссылке):
mvn clean install
mvn sonar:sonar
Таким образом, вы должны построить код, прежде чем можно будет выполнить анализ сонара. Также обратите внимание, что вы должны вводить эти команды отдельно, и вы должны дождаться полного завершения установки, прежде чем запускать sonar.
Если вы не хотите компилировать и использовать sonar-runner, как раньше, вы можете создать папку, поместить туда действующий класс Ja va и выполнить, как показано ниже:
sonar-runner -Dsonar.java.binaries=folder path
Я сталкивался с той же проблемой в прошлом.
Убедитесь, что у вас нет папки где-то в папке src / main, содержащей только pkg-info.java
файл. Эти файлы являются файлами Javadoc и поэтому не компилируются. Тем не менее, папка создается в target / classes, findbugs обнаруживает ее, но не находит .class
что приводит к сбою с сообщением "Нужны исходники для компиляции".
Решение состоит в том, чтобы удалить папку с pkg-info.java
файл или добавить реальные исходные файлы Java в нем (которые будут скомпилированы и сделают findubgs счастливыми.)
Имена свойств сонара изменены, см. http://docs.sonarqube.org/display/PLUG/Java+Plugin+and+Bytecode
Например, sonar.java.binaries заменяет sonar.binaries для версии плагина> 2.5
Это исправило мою проблему с findbugs.