Подключаемый модуль Maven PMD не создает отчет с помощью команды «mvn site» или «pmd: pmd»

Я читаю интересный урок здесь:http://www.avajava.com/tutorials/lessons/how-do-i-generate-pmd-and-cpd-reports-for-a-site.html?page=1

В этом руководстве показано, как использовать Maven для запуска инструмента статического анализа с открытым исходным кодом PMD и для просмотра сгенерированного вывода на веб-сайте, созданном Maven. Maven может легко создавать сайты сmvn site команда, но этот учебник показывает, как использовать PMD для более полезных метрик в исходном коде.

Инструкции были выполнены в меру своих возможностей. Вот мой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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.name.bookstore</groupId>
  <artifactId>bookstore</artifactId>
  <packaging>jar</packaging>
  <version>1</version>
  <name>bookstore</name>
  <url>http://maven.apache.org</url>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <extensions>
      <!-- start for deploying using webdav -->
      <extension>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-webdav</artifactId>
        <version>1.0-beta-2</version>
      </extension>
    </extensions>
  </build>

  <distributionManagement>
    <!-- start -location where site is deployed -->
    <site>
      <id>site.deployments</id>
      <name>Site deployments</name>
      <url>dav:localhost/${basedir}</url>
    </site>
  </distributionManagement>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <version>3.4</version>

      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>2.5</version>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>2.10.1</version>
      </plugin>
    </plugins>
  </reporting>

</project>

Когда я запускаю команду:mvn clean site Я получаю сайт, созданный Maven, с кучей разных страниц, но ни одна из них не показывает ничего в отношении PMD. Что мне здесь не хватает?Почему я не вижу ничего в отношении PMD на созданном веб-сайте?

Кроме того, когда я бегуmvn pmd:pmd есть успешная сборка, но я не получаю никаких полезных показателей PMD. Я даже закодировал некоторые неиспользуемые переменные и методы в одном из моих исходных файлов Java, как показано в связанном выше учебнике, и полезного вывода нет.

mvn pmd:pmd Команда появляется для создания некоторых файлов, хотя. Пара - это файлы правил для движка, на который он похож, а остальные - пустые. Пожалуйста, смотрите скриншоты этого ниже:

Рисунок 1: Файлы, созданные командой pmd: pmd

фигура 2: Пустой файл pmd - хотя в исходном файле Java есть очевидные ошибки

Кто-нибудь там знает, что случилось? Почему PMD не работает с Maven для меня?

Спасибо, что прочитали это.

Кроме того, из того, что я прочитал в Интернете наСайт PMD а такжеВеб-сайт Maven в разделе «Отчеты проекта» должна быть некоторая информация. Там нет данных, хотя из PMD. Пожалуйста, смотрите скриншот ниже.

Рисунок 3: Данные PMD не найдены в отчетах проекта

С уважением

ОБНОВИТЬ

Когда я меняю раздел PMDpom.xml файл в приведенный ниже фрагмент Я получаю некоторые результаты CPD через PMD, но все еще ничего от PMD на ошибки кода. Я даже закодировал в NullPointerException и PMD ничего не сказал даже при выдачеmvn pmd:check команда.

 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-pmd-plugin</artifactId>
    <version>3.4</version>
    <configuration>

      <linkXref>true</linkXref>
      <sourceEncoding>utf-8</sourceEncoding>
      <minimumTokens>1</minimumTokens>
      <targetJdk>1.7</targetJdk>
    </configuration>
  </plugin>

Во фрагменте я изменилsourceEncoding тег быть utf-8, потому что все, что я вижу в отношении этого, является utf-8. Я также изменилminimumTokens значение 1, чтобы попытаться получить больше вывода из этого плагина. Я также поместил этот фрагмент в<build> раздел, чтобы попытаться получить результаты, но все еще ничего ...: /

Спасибо за изучение этого ...

Ответы на вопрос(1)

Ваш ответ на вопрос