Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

mvn pmd:pmd não gera pasta site

...nem gera relatoiro html que seria pmd.html.

5 respostas

Andre, consegue colocar aqui a saída que o seu comando está dando no console, pra termos uma ideia do que pode estar acontecendo?

Opa Adriano, descobri um conflito que no caso era estar acessando o programa em tres lugares(cmd, eclise e o editor de texto atom), quando utilizei em apensa um local o relatorio foi gerado. Tenho a duvida se o relatorio apenas sobrescreve o prorpio relatorio quando existe erro, no caso quando não há nenhum erro o relatorio permanece com o erro do relatorio anterior. se achar melhor abro uma nova duvida no forum. Tambem estou com o pom setando o pmd em dependency, report e plugin na fase de build do projeto(segue o o msm abaixo) é correto isso? Obrigado!

<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>br.com.andre_franzim.maven</groupId>
    <artifactId>produtos</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>produtos</name>
    <url>https://github.com/arfranzim</url>

    <dependencies>

        <dependency>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
            <version>3.6</version>
            <scope>test</scope>
            <type>maven-plugin</type>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>com.thoughtworks.xstream</groupId>
            <artifactId>xstream</artifactId>
            <version>1.4.8</version>
        </dependency>
    </dependencies>

    <reporting>
        <plugins>
                <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>3.6</version>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>pmd</report>
                            <report>cpd</report>
                        </reports>
                    </reportSet>
                </reportSets>
                <configuration>
                    <linkref>true</linkref>
                    <sourceEncoding>utf-8</sourceEncoding>
                    <minimumTokens>1</minimumTokens>
                    <targetJdk>1.5</targetJdk>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jxr-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
            </plugin>
        </plugins>
    </reporting>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <build>
        <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>3.6</version>
                <executions>
                    <execution>
                        <phase>verify</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.7.7.201606060606</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare-agent</goal>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

        </plugins>

    </build>

</project>
solução!

Opa Andre, na verdade, só declarar no <plugins> é o suficiente e ideal (se for um plugin, como é o caso).

Sobre apagar o relatório, recomendo sempre rodar os comandos com mvn clean antes. Então você rodaria mvn clean pmd:pmd, assim você garante que nenhum cache vai ser usado, toda a estrutura vai ser limpa antes e nada ficará encavalado. Como cada plugin tem um funcionamento um pouco diferente, eu gosto de fazer isso sempre pra garantir que o resultado vai ser igual em todos :).

Opa Adriano, saquei! Obrigado pela ajuda!!

Abraço.

Executar o clean no projeto é sempre uma boa ideia. Em alguns casos, como por exemplo com stubs de EJB's, os grandes nomes das classes e diretórios pode buggar a exclusão de alguns arquivos. Se estiver com algum problema "inexplicável", eu aconselho a verificar se o processo de exclusão via ferramenta está de fato removendo os arquivos no sistema de arquivos. Espero que seja útil pra alguém! :)

Abraços