sonar findbug отсутствует исключение класса - PullRequest
0 голосов
/ 24 декабря 2010

пока я использую sonar findbug для проверки кода, он выдает исключение, утверждая, что некоторые классы отсутствуют.

После некоторых исследований становится ясно, что банки, необходимые для создания проекта, должны быть включены в файл pom.xml для использования сонара.

сделать это, предлагая официальный сайт сонара, добавить зависимости, com.opensymphony xwork-жильный 2.1.6 система $ {Имя_базовой_папки} /.../ xwork-core.jar

однако, для меня это всегда не работает.

Я использую windows, кто-нибудь, пожалуйста, просветите меня, как настроить, особенно systemmpath?

Вот pom.xml для одного модуля проекта.

<project xmlns="http://maven.apache.org/POM/4.0.0"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>DB</groupId>
  <artifactId>Project1</artifactId>
  <name>project1</name>
  <version>1.0</version>
  <dependencies>
    <dependency>
        <groupId>com.opensymphony</groupId>
        <artifactId>xwork-core</artifactId>
        <version>2.1.6</version><!--installed into .m2 folder, local repository, then refer it-->
    </dependency>
    <dependency>  
      <groupId>dep</groupId>
      <artifactId>dep1</artifactId>
      <version>1.0</version>                 <scope>system</scope>
    <systemPath>${basedir}/lib//asn.jar</systemPath>    
    </dependency>  
  </dependencies> 
  <build>
        <sourceDirectory>src</sourceDirectory>
        <outputDirectory>build-to/classes</outputDirectory>
        <plugins>
           <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <configuration>
                  <source>1.5</source>
                  <target>1.5</target>
                  <excludes>
                      <exclude>**/*.*</exclude>
                  </excludes>
              </configuration>
           </plugin>
        </plugins>
  </build>
  <properties>
    <sonar.dynamicAnalysis>false</sonar.dynamicAnalysis>
  </properties>
</project>

Спасибо, Джеки

Ответы [ 2 ]

1 голос
/ 27 декабря 2010

Является ли ваш проект проектом maven, или вы компилируете вещи с помощью ant или какого-то другого инструмента, а затем пытаетесь заставить сонар работать против него? Режим Sonar Light может быть сложным с очень сложными проектами. Если у вас есть многомодульный проект, я получу самый простой проект, работающий под локальной копией сонара, и затем буду работать над добавлением дополнительных модулей.

Кроме того, я бы попытался скопировать файлы локально в другой каталог, который не выходит за пределы $ {basedir}. Посмотрите, поможет ли это. Так что $ {basedir} /lib/xwork-core.jar что-то в этом роде.

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

0 голосов
/ 28 декабря 2010

я обнаружил проблему. Официальная документация сонара на самом деле неверна. «mvn sonar: sonar» вызовет плагин 2.0 maven sonar plugin, который не разрешит зависимость работы библиотечных jar-файлов. Вместо этого вызовите "mvn sonar3: sonar", вызовите плагин maven sonar 2.4.1, последняя версия, работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...