Comment installer l'artefact Maven avec les sources de la ligne de commande?

92

Comment installer l'artefact Maven avec les sources?

donc plus tard, je n'ai pas besoin d'ouvrir un projet dans eclipse pour voir du code.

EDIT: Je sais que je peux ajouter ce code à pom.xml

<plugin>
        <artifactId>maven-source-plugin</artifactId>
        <executions>
                <execution>
                        <id>attach-sources</id>
                        <phase>verify</phase>
                        <goals>
                                <goal>jar</goal>
                        </goals>
                </execution>
        </executions>
</plugin>

mais je voudrais le faire à partir de la ligne de commande (pour le rendre plus universel).

IAdapter
la source
Et où voulez-vous ces sources?
Sean Patrick Floyd

Réponses:

156

Pour télécharger les sources de vos dépendances:

mvn eclipse:eclipse -DdownloadSources=true

Pour attacher des sources à une installation:

mvn source:jar install

Il est également préférable d'utiliser l'objectif source:jar-no-forkdans votre pom comme décrit sur la page maven-source-plugin .

dogbane
la source
mais les sources de l'instantané installé n'existent pas :(
IAdapter
58

Simple, récupérez vos sources et JavaDocs:

mvn dependency:resolve -Dclassifier=javadoc
mvn dependency:resolve -Dclassifier=sources
Joseph Lust
la source
2
@csgeek Question est formulé de manière ambiguë, peut interpréter de différentes manières. Cmd télécharge mvn src et doc et s'installe localement donc aucun mappage manuel n'est nécessaire à partir d'Eclipse. Voir la réponse de dogbane pour l'installation de src pour un fichier jar construit localement.
Joseph Lust
1
option bien meilleure et plus propre ... mieux que de modifier individuellement les paramètres de pom.xml ou d'éclipse, ces choses changent plus souvent.
Karthik Karuppannan
"mvn source: jar install" ne changerait pas le pom ou les paramètres d'Eclipse .... c'est le but de Maven d'installer les sources d'un dépôt de code local dans le référentiel .m2. (Par exemple, si vous avez cloné une version d'instantané à laquelle vous souhaitez vous référer à partir d'un autre projet.) La résolution de dépendance est destinée au téléchargement de sources externes ou de fichiers javadoc.
cslotty
4

Veuillez utiliser mvn source:jarinstall pour installer les artefacts Maven.

Venky Vungarala
la source
1
Cela ne semble pas fonctionner. Il génère uniquement un fichier jar sources. Je veux combiner avec de mvn clean installcette façon les pots d'objets et de sources dans mon m2. J'y accède depuis Android Studio en utilisant gradle.
TheRealChx101
-1

C'est assez simple avec eclipse, faites un clic droit sur le projet dans la vue Explorateur de projet, cliquez sur l'élément de menu maven, puis cliquez sur télécharger les sources.

Gursel Koca
la source
mais les sources de l'instantané installé n'existent pas :( J'obtiens l'erreur 24.02.11 10:23:23 CET: Impossible de télécharger java-source pour l'artefact my: project: 1.2.18-SNAPSHOT
IAdapter
Eh bien, vous avez clarifié votre question. Ma réponse n'est plus valable.
Gursel Koca
Pourquoi? maven consiste à faire les choses automatiquement. Je ne peux pas y accéder car le pot avec lui n'a pas été créé.
IAdapter