2013-02-13 14 views
9

mio Maven POM utilizzaSkip dipendenze in javadocs - Maven javadoc bloccato a causa di URL del repository non valida

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-javadoc-plugin</artifactId> 
    <version>2.9</version> 
    <configuration> 
     <show>public</show> 
     <failOnError>false</failOnError> 
    </configuration> 
</plugin> 

nella parte di report. Tutto sembra essere ok, ma ad un certo punto prova a generare il rapporto sulle dipendenze e rimane bloccato per sempre perché non può accedere a un URL di repository (che non è attivo). Ottenendo questo errore:

[INFO] Generating "Dependencies" report --- maven-project-info-reports-plugin:2.5.1 
[WARNING] The repository url 'file://${basedir}/stage' is invalid - Repository 'local-mime4j-stage-repository' will be blacklisted. 
[WARNING] The repository url 'http://antlr.org/antlr-snapshot' is invalid - Repository 'antlr-snapshot' will be blacklisted. 

Dopodiché, continua ad attendere per sempre causando che non ho build. Quindi la mia domanda è: come posso dire a javadoc di escludere questo passaggio e non provare a generare un rapporto di dipendenza?

+0

quale comando mvn utilizzi? e puoi eseguirlo con -X per ottenere dettagli su cosa sta succedendo? E BTW, non c'è errore ... questo solo per gli avvertimenti ;-) – ben75

risposta

5

In realtà il problema non era correlato al plug-in maven-javadoc, ma sembrava così durante la lettura dei registri. Era negli obiettivi predefiniti durante l'esecuzione del ciclo di vita del sito. Anche se avessi rimosso tutti i miei plugin avrei questo problema durante l'esecuzione del sito $ mvn.

Questo a causa della generazione del sito che cerca di ottenere informazioni sulle dipendenze dei miei progetti. Sembra che il modo migliore per evitare ciò potrebbe essere la disabilitazione del recupero di queste informazioni (dato che alcuni degli url del repository non sono validi) inserendo alcune proprietà in false ... MA niente di tutto questo ha funzionato davvero per me. Solo i seguenti lavorato:

   <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-project-info-reports-plugin</artifactId> 
        <version>2.6</version> 
        <reportSets> 
         <reportSet> 
          <reports> 
           <report>index</report> 
           <report>help</report> 
           <report>project-team</report> 
           <report>modules</report> 
           <report>plugins</report> 
           <report>cim</report> 
           <report>issue-tracking</report> 
           <report>scm</report> 
           <report>license</report> 
           <report>plugin-management</report> 
           <report>distribution-management</report> 
           <report>summary</report> 
           <report>mailing-list</report> 
           <report>issue-tracking</report> 
           <!-- 
           <report>dependencies</report> 
           --> 
          </reports> 
         </reportSet> 
        </reportSets> 
       </plugin> 

Il che significa, dico il sito non plugin per creare tutto ciò che riguarda le mie dipendenze nel sito. Vedete che dall'elenco originale di rapporti nel sito ho solo cancellato quelli che voglio. Ma se si cerca la generazione di siti con il plugin maven-project-info-reports-plugin, molte persone hanno avuto anche questo problema per la costruzione, prendendo troppo tempo e come risolverlo. Spero che questo aiuti la prossima vittima.

14

http://www.java-tutorial.ch/maven/maven-site-build-slow-due-to-dependency-report-plugin ha una descrizione molto buona di come disattivare il controllo della posizione di dipendenza dalla riga di comando o nel file POM.

In sintesi:

  1. Commandline:

    mvn -Ddependency.locations.enabled=false site 
    
  2. POM:

    <plugin> 
        <artifactId>maven-project-info-reports-plugin</artifactId> 
        <configuration> 
        <dependencyLocationsEnabled>false</dependencyLocationsEnabled> 
        </configuration> 
    </plugin> 
    
+0

Si noti che questo non funzionerà se non si specifica il 'maven-project-info-reports-plugin' nella sottosezione' project.reporting.plugins' di il tuo file 'pom.xml', piuttosto che la sottosezione' project.build.plugins'. –

Problemi correlati