Интеграция Знатока, сообщающего о плагинах

Если Вы собираетесь использовать примитивы потока, Вы вынуждены использовать поля. Свойства могут повредить Ваш потоковый код. Кроме этого, какой сказанный cory корректен.

5
задан Rich Seller 21 September 2009 в 14:28
поделиться

3 ответа

Если Maven имеет доступ к центральному репозиторию, он загрузит большинство подключаемых модулей (некоторые из них не размещены на центральном сервере, для доступа к ним вам необходимо определить дополнительный репозиторий в вашем pom или настройках). Если зависимости настроены в вашем POM, Maven автоматически попытается загрузить их, когда вы запустите соответствующую цель. Для перечисленных вами зависимостей это сайт mvn .

Большинство перечисленных вами jar-файлов являются отчетами, поэтому их следует указывать в разделе отчет POM, для пример (я бы также объявил версии, чтобы быть уверенным, что вы получаете ожидаемый плагин):

<reporting>
  <plugins>
    <plugin>
      <artifactId>maven-checkstyle-plugin</artifactId>
    </plugin>
    <plugin>
      <artifactId>maven-pmd-plugin</artifactId>
      <configuration>
        <linkXref>true</linkXref>
      </configuration>
    </plugin>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>cobertura-maven-plugin</artifactId>
      <version>2.1</version>
      <configuration>
        <formats>
          <format>html</format>
          <format>xml</format>
        </formats>
        <outputDirectory>target/site/cobertura</outputDirectory>
      </configuration>
    </plugin>
    <plugin>
      <artifactId>maven-surefire-report-plugin</artifactId>
      <configuration>
        <outputDirectory>${basedir}/target/surefire-reports</outputDirectory>
      </configuration>
    </plugin>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>jdepend-maven-plugin</artifactId>
    </plugin>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>findbugs-maven-plugin</artifactId>
      <configuration>
        <xmlOutput>true</xmlOutput>
        <effort>Max</effort>
      </configuration>
    </plugin>
  </plugins>
</reporting>

Некоторые сведения о модели исполнения плагина Maven: Когда вы запускаете mvn site , это сокращенно от «запускать цель сайта из последней версии плагина сайта», т. Е. Эквивалентно mvn site: site , что в свою очередь сокращение для mvn org.apache.maven.plugins: maven-site-plugin: LATEST: site

Maven попытается связаться с центральным репозиторием, определит ПОСЛЕДНЮЮ версию из maven-metadata.xml, затем загрузите его (и все его зависимости, которые также отсутствуют) перед выполнением.

Если вы находитесь за прокси-сервером, вы можете увидеть сообщение об ошибке в журнале сборки, подобное этому:

[INFO] The plugin 'org.apache.maven.plugins:maven-site-plugin' does not exist or no valid version could be found

Для решения этой проблемы вы можете объявить настройки прокси-сервера в вашем Maven settings.xml (в [MVN_HOME] /conf/settings.xml). По умолчанию они закомментированы, но выглядят примерно так:

<proxy>
  <id>optional</id>
  <active>true</active>
  <protocol>http</protocol>
  <username>proxyuser</username>
  <password>proxypass</password>
  <host>proxy.host.net</host>
  <port>80</port>
  <nonProxyHosts>local.net,some.host.com</nonProxyHosts>
</proxy>

Заменить имя пользователя, пароль, хост,

13
ответ дан 18 December 2019 в 13:17
поделиться

Сираков прав; Maven автоматически загрузит и установит плагины при их использовании.

Вы можете либо запускать их напрямую (для разовых заданий), либо настраивать их в своем pom.xml - это также позволяет вам настроить затем и установить автоматический запуск, например, для генерации исходного кода или отчета о тестовом покрытии. Основным преимуществом этого является то, что вы можете определить один набор конфигураций плагинов в общем родительском pom и повторно использовать одни и те же конфигурации во всех ваших проектах, сохраняя при этом возможность при необходимости переопределить унаследованную конфигурацию в каждом подпроекте - это одно из самых больших преимуществ использования Maven в больших проектах.

Каждый плагин имеет свои собственные параметры конфигурации, стандартные из которых задокументированы на http://maven.apache.org/plugins/ . Еще один хороший ресурс - это книга O'Reilly Maven в Интернете по адресу http://www.sonatype.com/books/maven-book/reference/

Пример конфигурации для cobertura:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-pmd-plugin</artifactId>
    <version>2.3</version>
    <configuration>
        <outputDirectory>${project.build.directory}/pmd</outputDirectory>
        <targetDirectory>${project.build.directory}</targetDirectory>
        <aggregate>true</aggregate>
        <!--  CPD minimum tokens to report on (5 to 10 duplicate lines)    --> 
        <minimumTokens>100</minimumTokens> 
        <minimumPriority>3</minimumPriority>
        <!--  Exclude mock classes     --> 
        <excludes>
        <exclude>**/Mock.*</exclude> 
        <exclude>**/Dummy.*</exclude> 
        <exclude>**/*Mock.java</exclude> 
        <exclude>**/*Dummy.java</exclude> 
        </excludes>
        <includeTests>true</includeTests> 
        <targetJdk>1.5</targetJdk>
        <rulesets>
            <ruleset>pmd_ruleset.xml</ruleset>  
        </rulesets>
    </configuration>
</plugin>
1
ответ дан 18 December 2019 в 13:17
поделиться

Вам не нужно загружать плагины вручную. Я не уверен на 100%, но если вы хотите использовать, например, плагин checkstyle, вам нужно запустить maven с командной строкой формы параметра checkstyle

, например:

mvn checkstyle:checkstyle

или

mvn checkstyle:check

edit1: Но вы также можете поместите jar-файлы в локальный репозиторий m2 с определенной структурой папок для доступа к ним.

edit2: вы можете поместить все свои плагины в свой собственный репозиторий, а затем вам нужно указать maven (с помощью pom), какие репозитории вы хотите использовать. Каждый плагин должен быть описан в пом.

0
ответ дан 18 December 2019 в 13:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: