Come fare riferimento a Javadoc alle dipendenze nel plugin Eclipse di Maven quando Javadoc non è collegato alla dipendenza

StackOverflow https://stackoverflow.com/questions/44396

  •  09-06-2019
  •  | 
  •  

Domanda

Utilizzo Eclipse, Maven e Java nel mio sviluppo.Utilizzo Maven per scaricare le dipendenze (file jar e javadoc quando disponibili) e il plug-in Eclipse di Maven per generare i file .project e .classpath per Eclipse.Quando la dipendenza scaricata non ha javadoc allegato, aggiungo manualmente un collegamento per javadoc nel file .classpath in modo da poter vedere il javadoc per la dipendenza in Eclipse.Quindi, quando eseguo il plugin Eclipse di Maven per rigenerare il file .classpath, ovviamente cancella quella modifica.

Esiste un modo per configurare il plug-in Eclipse di Maven per aggiungere automaticamente gli attributi classpath per Javadoc durante l'esecuzione del plug-in Eclipse di Maven?

Sono interessato solo alle risposte in cui Javadoc e/o i sorgenti non sono forniti per la dipendenza nel repository Maven, il che è il mio caso più spesso.L'utilizzo delle proprietà downloadSources e/o downloadJavadocs non risolverà questo problema.

È stato utile?

Soluzione

Potresti prendere in considerazione l'idea di evitare completamente questo problema installando manualmente il jar javadoc nel tuo repository locale utilizzando il file obiettivo del file di installazione e passando l'opzione -Dclassifier=javadoc.Una volta fatto ciò, il .classpath generato da mvn dovrebbe essere corretto.

Se utilizzi un repository remoto come proxy per la centrale, potresti anche distribuire i javadoc in quel repository e quindi tutti gli altri che utilizzano quel proxy ora otterranno automaticamente anche i javadoc.

Altri suggerimenti

Dal plugin Maven Eclipse FAQ

Il seguente esempio mostra come farlo nella riga di comando:

mvn eclipse:eclipse -DdownloadSources=true  -DdownloadJavadocs=true 

o nel tuo pom.xml:

<project>
  [...]
  <build>
    [...]
    <plugins>
      [...]
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <configuration>
          <downloadSources>true</downloadSources>
          <downloadJavadocs>true</downloadJavadocs>
        </configuration>
      </plugin>
      [...]
    </plugins>
    [...]
  </build>
  [...]
</project>

Sto eseguendo STS 2.8.1 che è fondamentalmente Eclipse + Spring Tools;In un progetto Maven esistente, ho fatto clic con il pulsante destro del mouse sul progetto -> Maven -> Scarica sorgenti e Scarica JavaDocs

Come accennato in Come scaricare sorgenti e artefatti Javadoc con il plug-in Maven Eclipse da altri repository?, Puoi farlo:

In Eclipse vai su Windows-> Preferenze-> Maven.Controlla la casella che dice "Scarica artefatto Javadoc". Questo ha funzionato bene per me.

Maven Preferences

Generalmente i Javadoc non vengono utilizzati principalmente come dipendenza.Perché questi non sono richiesti né in fase di compilazione né in fase di esecuzione.Serve solo per aiutare lo sviluppatore durante lo sviluppo o il debug.

Supponendo di utilizzare l'IDE Java Eclipse, possiamo utilizzare i documenti Java come referenziati.Di seguito sono riportati gli approcci con cui possiamo associare javadoc/source ai rispettivi jar.

1.Se si tratta di un progetto non esperto:

Scarica il file jar Javadocs o il file zippato, qualunque sia disponibile e inseriscilo in una directory.Fare clic con il pulsante destro del mouse sul progetto dell'applicazione nell'IDE Eclipse, fare clic su Proprietà e scegliere Percorso di creazione Java, quindi selezionare la scheda Librerie sotto Percorso di creazione Java.Ora espandi il jar che desideri collegare a Java docs/source.Seleziona il collegamento alla posizione Javadoc e fai clic sul pulsante Modifica, viene visualizzata una nuova finestra in cui dobbiamo scegliere il percorso del jar Javadoc.Fare clic su OK e abbiamo collegato javadoc/source con i rispettivi jar.

enter image description here

2.Se è un progetto esperto

Se stiamo utilizzando il progetto Maven, vai ai file jar nella dipendenza Maven sotto il progetto nella visualizzazione Project Explorer come mostrato di seguito.Ora fai clic con il pulsante destro del mouse sul file jar a cui vuoi aggiungere Javadoc/source,  scegli Maven quindi fai clic su Javadoc o Source che desideri collegare al progetto.Ora l'IDE scaricherà automaticamente il javadoc/source richiesto e lo collegherà al rispettivo jar nel progetto.

enter image description here

Puoi verificarlo facendo clic con il pulsante destro del mouse sul progetto nell'IDE e facendo clic su Java Build Path e selezionando la scheda Librerie sotto Java Build Path e quindi espandendo il jar desiderato, qui quando fai clic sul pulsante Modifica vedrai il percorso collegato di il Javadoc/Source con il rispettivo jar come mostrato di seguito nell'immagine.

enter image description here

3.Se si tratta di un progetto Maven e stiamo impostando il comportamento predefinito:

Eclipse scaricherà in modo acquatico il javadoc/source insieme al jar principale richiesto all'inizio.Per impostazione predefinita, l'istruzione a Maven di scaricare Javadoc/sorgenti per tutti i jar collegati nel progetto.

Fai clic su Windows – preferenze – seleziona Maven e fai clic sulla casella di controllo Scarica Artifact Javadoc come mostrato di seguito

enter image description here

Ora fai clic su Applica e salvalo e ora quando crei un nuovo progetto Maven, per impostazione predefinita i Javadoc verranno scaricati e collegati a tutti i jar dipendenti nel progetto.
Puoi verificare facendo clic con il pulsante destro del mouse sul progetto e su Proprietà e nel percorso Java Build puoi vedere che i javadoc sono collegati a tutti i jar come mostrato di seguito.

enter image description here

Se il tuo progetto è un progetto Maven, allora è sempre meglio utilizzare il 2° approccio perché utilizzando questo approccio l'IDE e Maven si occupano di scaricare la versione corretta di Javadoc/source e di collegarla anche al relativo jar.

Il terzo approccio è un po' costoso perché javadoc/sources verrà scaricato per tutti i jar dipendenti, potresti non essere interessato a javadoc/sources per tutti i jar dipendenti.

Avere le fonti per la dipendenza sarebbe d'aiuto?Puoi dire al plugin Eclipse di scaricarli (e fare riferimento ad essi nel .classpath) con -DdownloadSources=true

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top