Maven - Scarica sempre fonti e javadocs


244

Esiste un modo per configurare maven per scaricare sempre fonti e javadocs? Specificare -DdownloadSources=true -DdownloadJavadocs=trueogni volta (che di solito si accompagna all'esecuzione di mvn compilare due volte perché ho dimenticato la prima volta) diventa piuttosto noioso.


Questo è per il plugin eclipse? Non dovresti correre così spesso comunque ...
Sjr

1
No, è per il programma da riga di comando. Non devo eseguirlo molto spesso, ma sarebbe fantastico se non dovessi mai eseguirlo!
schmmd,

1
Qual è la riga di comando? Questo è quando fai mvn eclipse:eclipsebene?
giovedì

14
@sjr, sì per scaricare fonti e javadocs si può eseguiremvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true
Yuriy Nakonechnyy

Penso che questa domanda non abbia ancora una risposta. La risposta accettata è relativa solo al plug-in Eclipse. @La risposta di AlexisGamarra è la più vicina ma non risolve la "persistenza" della soluzione - non imposta Maven a farlo sempre ogni volta che esegui mvn install .
Honza Zidek,

Risposte:


265

Apri il tuo file settings.xml ~/.m2/settings.xml (crealo se non esiste). Aggiungi una sezione con le proprietà aggiunte. Quindi assicurati che activeProfiles includa il nuovo profilo.

<settings>

   <!-- ... other settings here ... -->

    <profiles>
        <profile>
            <id>downloadSources</id>
            <properties>
                <downloadSources>true</downloadSources>
                <downloadJavadocs>true</downloadJavadocs>
            </properties>
        </profile>
    </profiles>

    <activeProfiles>
        <activeProfile>downloadSources</activeProfile>
    </activeProfiles>
</settings>

6
Sto provando queste proprietà del profilo in Maven 2.2.1 e 3.0.2 e non funzionano. Il repository di destinazione è Archiva. Qualche suggerimento su cos'altro si può provare? Ho anche provato a utilizzare la dipendenza: obiettivo delle fonti. Grazie
jmend

18
Inoltre, in Eclipse puoi semplicemente andare su Preferenze -> Maven (Nessuna sottocategoria). Qui puoi controllare "Scarica risorse artefatto / JavaDocs". Tuttavia, a volte Eclipse non vuole creare quel file manualmente (mi è successo in Luna). In tal caso - vai lì, incolla questa risposta racchiusa nei tag delle impostazioni e dì a Eclipse di ricaricarla e dovrebbe funzionare.
Andrei Bârsan

9
Questo ha funzionato per me: in Eclipse vai su Preferenze -> Maven (Nessuna sottocategoria). Controlla - "Scarica artefatto sorgente" - "Scarica artefatto JavaDocs" - "Aggiorna progetti Maven all'avvio" (solo perché non riesco a trovare il modo manuale) Quindi riavvia Eclipse. Fatto
Dirk,

4
Questo ha effetto solo sul plugin Maven Eclipse.
Jingguo Yao,

9
Questa non dovrebbe essere la risposta accettata! Come affermato da @JingguoYao, riguarda solo il plug-in Maven Eclipse. La domanda originale non era legata a Eclipse, ma piuttosto allo stesso Maven.
Honza Zidek,

195

Nel mio caso la soluzione "settings.xml" non ha funzionato, quindi uso questo comando per scaricare tutte le fonti:

mvn dependency:sources

Puoi anche usarlo con altri comandi maven, ad esempio:

mvn clean install dependency:sources -Dmaven.test.skip=true

Per scaricare tutta la documentazione, utilizzare il seguente comando:

mvn dependency:resolve -Dclassifier=javadoc

1
Penso che questa domanda non abbia ancora una risposta. La risposta accettata è relativa solo al plug-in Eclipse. La tua risposta è la più vicina ma non risolve la "persistenza" della soluzione - non impone a Maven di farlo sempre ogni volta che esegui mvn install .
Honza Zidek,

52

Consolidamento e preparazione del singolo comando per indirizzare il download di documenti e sorgenti ...

mvn dependency:sources dependency:resolve -Dclassifier=javadoc

42

Risposta per le persone di Google

In Eclipse puoi scaricare automaticamente javadoc e fonti .

Per fare ciò, fare clic con il tasto destro sul progetto e utilizzare

  • Maven -> Scarica JavaDoc
  • Maven -> Scarica fonti

3
E in IDEA è possibile fare clic con il pulsante destro del mouse sul modulo e, nel menu Maven, è disponibile un'opzione per scaricare fonti e / o documentazione
forresthopkinsa,

@Betlista leggi la prima riga del post. Molte persone vanno da Google a qui alla ricerca di qualcos'altro. Ma
finisci

14

Sto usando Maven 3.3.3 e non riesco a far funzionare il profilo predefinito in un settings.xmlfile utente o globale .

Per ovviare al problema, puoi anche aggiungere un plug-in di build aggiuntivo al tuo pom.xmlfile.

<properties>
    <maven-dependency-plugin.version>2.10</maven-dependency-plugin.version>
</properties>
<build>
    <plugins>
        <!-- Download Java source JARs. -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>${maven-dependency-plugin.version}</version>
            <executions>
                <execution>
                    <goals>
                        <goal>sources</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

7

Su NetBeans : apri Esplora progetti-> Dipendenze -> [ file.jar ] tasto destro del mouse- > Scarica Javadoc


4

Come diceva @ xecaps12, l'approccio più semplice / efficiente è quello di modificare il file delle impostazioni di Maven (~ / .m2 / settings.xml) ma se si tratta di impostazioni predefinite per te, puoi anche impostarlo in questo modo

<profile>
  <id>downloadSources</id>
  <activation>
    <activeByDefault>true</activeByDefault>
  </activation>
  <properties>
      <downloadSources>true</downloadSources>
      <downloadJavadocs>true</downloadJavadocs>
  </properties>
</profile>

In realtà non funziona, stai solo dichiarando proprietà globali inutilizzate. Credo che la soluzione mitica sia venuta da maven-eclipse-plugin: maven.apache.org/plugins/maven-eclipse-plugin/examples/…
inanutshellus

No, è solo una semplificazione della risposta "risolta";)
Kraiss

1
La versione "risolta" non funziona neanche. (Ho fatto lo stesso commento anche lì, ma l'ho rimosso temporaneamente mentre confermo con te.) Quindi - stai dicendo che la tua risposta (e quindi la risposta risolta) funziona davvero per te ?? Voglio dire, 159 persone hanno caricato quella risposta sbagliata o obsoleta, quindi chiaramente funziona per qualcuno. Se funziona come dici tu, allora io sto facendo qualcosa di sbagliato, come lo sono le diverse persone sulla risposta risolta nei suoi commenti e mi piacerebbe l'amore per imparare che e ottenere che il lavoro.
inanutshellus,

Suppongo che i var globali siano controllati dal plugin eclipse quando in realtà si sta sviluppando con eclise. il recupero del sorgente viene eseguito da eclipse e non da maven sulla riga di comando.
Jonatan Cloutier,

1

Penso che possa essere fatto per plugin. Vedi questo capitolo del libro di Maven.

Potresti essere in grado di configurare il plug-in di dipendenza per scaricare le fonti (anche se non l'ho provato da solo :-).


1

In Netbeans, puoi incaricare Maven di controllare javadoc su ogni progetto aperto:

Tools| Options| Javaicona | Mavenscheda | Dependenciescategoria | Check Javadocmenu a discesa impostato suEvery Project Open .

Chiudi e riapri Netbeans e vedrai Maven scaricare javadocs nella barra di stato.



0

È sufficiente modificare il file mvn(o mvn.cmdse in Windows) e aggiungere qualsiasi opzione della riga di comando necessaria (come indicato da altre risposte). Se non si desidera modificare i file di installazione (che consiglierei), creare un mymvn(o mymvn.cmd) wrapper che richiami il normale mvncon i parametri.


0

Ho dovuto usare KeyStore per scaricare i vasetti. In caso di problemi relativi al certificato, è possibile utilizzare questo approccio:

mvn clean install dependency:sources -Dmaven.test.skip=true -Djavax.net.ssl.trustStore="Path_To_Your_KeyStore"

Se vuoi sapere come creare KeyStores, questo è un ottimo collegamento: problemi con Maven e SSL dietro il proxy


0

Per le fonti a livello di dipendenza (pom.xml) è possibile aggiungere:

<classifier>sources</classifier>

0

Per dare seguito alla risposta di kevinarpe questo fa sia fonti che Javadocs:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>3.1.1</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>sources</goal>
                            <goal>resolve</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <classifier>javadoc</classifier>
                </configuration>
            </plugin>
        </plugins>
    </build>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.