it-roy-ru.com

Невозможно найти Source XRef для ссылки на

У меня есть большой проект Maven, который использует плагин pmd для проверки качества кода.

так как я начал использовать плагин pmd, я получаю следующее предупреждение:

[WARNING] Unable to locate Source XRef to link to - DISABLED

Я погуглил и обнаружил, что мне нужно реализовать плагин JXR.

поэтому я добавляю следующее в свойство build в основном файле pom.xml.

  <plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-jxr-plugin</artifactId>
    <version>2.3</version>
  </plugin>

хорошо, это ничего не меняет. 

какие-либо идеи, что мне нужно реализовать, чтобы разрешить это предупреждение?

вывод mvn -version

Apache Maven 3.0.4 (r1232337; 2012-01-17 10:44:56+0200)
Maven home: /usr/share/maven-bin-3.0
Java version: 1.7.0_05, vendor: Oracle Corporation
Java home: /usr/lib64/icedtea7/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "3.5.2-gentoo", Arch: "AMD64", family: "unix"

спасибо!

49
ufk

Вы должны добавить maven-jxr-plugin в разделreportingPlugin.

<reporting>
    <plugins>
        <plugin>
            <groupId>org.Apache.maven.plugins</groupId>
            <artifactId>maven-jxr-plugin</artifactId>
            <version>2.3</version>
        </plugin>
    </plugins>
</reporting>

Перезапустите его и наслаждайтесь.

Кстати, возможно, вам нужно будет выполнить один раз цель jxr:jxr, чтобы сначала сгенерировать какой-нибудь файл, который будет использоваться pmd.

63
poussma

Имейте в виду, есть также возможность отключить функцию внешних ссылок, добавив

<configuration>
  <linkXRef>false</linkXRef>
</configuration>

к плагину maven-pmd-plugin. Это устраняет предупреждение, не делая сборку еще длиннее из-за запуска дополнительного модуля отчетов. Например. если вы запускаете свои сборки в Jenkins, плагин Jenkins PMD может позаботиться о связи предупреждений PMD с исходным кодом, для этого не нужно запускать другой плагин Maven.

39
rec

Вы должны добавить maven-jxr-plugin и запустить цель jxr:jxr перед жизненным циклом site, если maven-jxr-plugin добавлен как плагин, как в вашем случае:
clean jxr:jxr site 

В противном случае вы должны добавить его как отчет, если хотите, чтобы он работал с mvn site. Посмотрите документацию по использованию JXR: Использование JXR

0
M3HD1