Se Maven ha accesso al repository centrale verrà scaricato la maggior parte dei plug-in (alcuni non sono ospitati su centrale, per accedere a quelli che è necessario definire un repository aggiuntivo nel pom o nelle impostazioni). Se le dipendenze sono configurate nel POM, Maven tenterà automaticamente di scaricarle quando si esegue un obiettivo rilevante. Per le dipendenze che hai elencato questo è mvn site.
La maggior parte di quei vasi che hai elencato sono i rapporti, quindi dovrebbe essere dichiarato nel segnalazione sezione del POM, per esempio (vorrei anche dichiarare le versioni per essere sicuro che stai ricevendo il plugin atteso) :
<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>
Alcuni retroscena sul modello di esecuzione dei plugin di Maven: Quando si esegue sito mvn, questo è l'abbreviazione di mano per "Run l'obiettivo sito da l'ultima versione del plugin sito", vale a dire che è equivalente a sito mvn: sito, che è a sua volta stenografia per org.apache.maven.plugins MVN: Maven-site-plugin: ULTIME: sito
Maven tenterà di contattare il repository centrale, determinare la versione più recente dal Maven-metadata.xml, poi scaricarlo (e tutte le sue dipendenze che mancano anche) prima di eseguirlo.
Se si è dietro un proxy è possibile visualizzare un messaggio di errore nel log di compilazione in questo modo:
[INFO] The plugin 'org.apache.maven.plugins:maven-site-plugin' does not exist or no valid version could be found
per affrontare questo è possibile dichiarare le impostazioni proxy nel settings.xml Maven (in [MVN_HOME]/conf/settings.xml). Essi sono commentate da defualt, ma guarda qualcosa di simile:
<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>
Sostituire nome utente, password, host e valori di porta con il rilevante per l'ambiente e Maven sarà in grado di scaricare le dipendenze richieste.
Per ulteriori dettagli sull'uso di Maven, controlla lo Maven: The Definitive Guide di Sonatype, è online e gratuito.
Non dovresti aver bisogno sia di Emma che di Cobertura, sono entrambi strumenti di copertura del codice e potrebbero essere in conflitto. –
... e avrai abbastanza lavoro per mantenere felice un maestro senza aggiungerne un altro :) – Crowie