Если Вы собираетесь использовать примитивы потока, Вы вынуждены использовать поля. Свойства могут повредить Ваш потоковый код. Кроме этого, какой сказанный cory корректен.
Если 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>
Заменить имя пользователя, пароль, хост,
Сираков прав; 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>
Вам не нужно загружать плагины вручную. Я не уверен на 100%, но если вы хотите использовать, например, плагин checkstyle, вам нужно запустить maven с командной строкой формы параметра checkstyle
, например:
mvn checkstyle:checkstyle
или
mvn checkstyle:check
edit1: Но вы также можете поместите jar-файлы в локальный репозиторий m2 с определенной структурой папок для доступа к ним.
edit2: вы можете поместить все свои плагины в свой собственный репозиторий, а затем вам нужно указать maven (с помощью pom), какие репозитории вы хотите использовать. Каждый плагин должен быть описан в пом.