Плагин Maven PMD 3.3 с наборами правил vm и xml

Я работаю с Maven PMD Plugin версии 3.3. Он использует PMD 5.2.1.

При таком подключении доступные наборы правил определяются:

  • net.sourceforge.pmd: pmd-core
  • net.sourceforge.pmd: pmd-java
  • net.sourceforge.pmd: pmd-javascript
  • net.sourceforge.pmd: pmd-jsp

Я смог определить файл настраиваемого набора правил, используя некоторые из этих наборов правил:

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>${pmd.maven.version}</version>
                <configuration>
                    <skip>${skip.pmd}</skip>
                    <!-- 
                    <targetJdk>${maven.compiler.target}</targetJdk>
                     -->
                    <linkXRef>true</linkXRef>
                    <aggregate>false</aggregate>
                    <skipEmptyReport>false</skipEmptyReport>
                    <failOnViolation>true</failOnViolation>
                    <includeXmlInSite>true</includeXmlInSite>
                    <rulesets>
                        <ruleset>${project.parent.basedir}/../build-config/src/main/resources/docsite/build/config/pmd-java.xml</ruleset>
                    </rulesets>
                </configuration>
                <dependencies>
            </plugin>

Теперь я хотел бы добавить наборы правил, определенные:

  • net.sourceforge.pmd: pmd-vm
  • net.sourceforge.pmd: pmd-xml

Страницы:

кажутся устаревшими и не помогли.

Любая помощь будет оценена по достоинству.

Обновлять:

О странице «Анализ кода JavaScript»: внутри отчета зависимости могут быть объявлены только в конфигурации, а не непосредственно в объявлении плагина. Так что да, ИМО, эта страница устарела.

Когда зависимость находится в нужном месте, все работает нормально, но зависимость бесполезна, поскольку net.sourceforge.pmd: pmd-javascript встроен в maven-pmd-plugin. Таким образом, пример работает очень хорошо с объявлением зависимости или без него.

Теперь с набором правил "vm-basic" ничего не работает. Поскольку net.sourceforge.pmd: pmd-vm не встроен в maven-pmd-plugin, требуется объявление зависимости, то есть:

<reporting>
    <plugins>
        ...
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
            <version>3.3</version>
            <configuration>
                <rulesets>
                    <ruleset>vm-basic</ruleset>
                </rulesets>
                <dependencies>
                    <dependency>
                        <groupId>net.sourceforge.pmd</groupId>
                        <artifactId>pmd-vm</artifactId>
                        <version>5.2.1</version>
                    </dependency>
                </dependencies>
            </configuration>
        </plugin>
    </plugins>
</reporting>

генерирует эту ошибку:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-site-plugin:3.4:site (default-site) on project stage-plugin1: Execution default-site of goal org.apache.maven.plugins:maven-site-plugin:3.4:site failed. NullPointerException -> [Help 1] 

Как только я удаляю набор правил "vm-basic", все работает нормально, но отчета pmd нет ...


person atao    schedule 03.12.2014    source источник
comment
Какая у вас проблема? Первая страница, на которую вы указали ссылку, имеет дату 14.11.2014, которая мне не кажется устаревшей?   -  person user944849    schedule 03.12.2014
comment
Обе страницы имеют одинаковую дату, потому что они были выпущены в одно и то же время. Как упоминалось 14.11.2014 ...   -  person khmarbaise    schedule 03.12.2014
comment
Возможный дубликат Maven Подключаемый модуль PMD не создает отчет с помощью команды mvn site или pmd: pmd   -  person Paul Sweatte    schedule 16.05.2017