web-dev-qa-db-fra.com

Différence entre Intellij Project make et Maven Compile?

Lorsque vous travaillez dans le module maven, quelle est la différence entre faire dans la construction intellij -> Make Project et Maven Projects -> Root pom -> Compile phase.

Intellij appelle-t-il Maven? Est-ce que les deux compilent les sources au même endroit? Copient-ils tous les deux des fichiers de ressources? Pourquoi avons-nous besoin des deux options? Intellij télécharge-t-il automatiquement les dépendances et nous pouvons simplement appeler le projet make, sans utiliser la compilation maven?

intellij project: two ways of compiling

41
omer727

Ils sont en fait assez similaires en termes de tâche qu'ils effectuent qui est de compiler les chemins source et de test du projet avec javax.tools.JavaCompiler par défaut.

Intellij appelle-t-il maven?

Non, ce n'est pas le cas par défaut. Rappelez-vous que ce n'est que le compilateur intégré d'IntelliJ Java et certains projets Java n'utilisent pas maven).

Les deux compilent-ils les sources au même endroit?

Oui, ils utilisent les mêmes fichiers source pour compiler si c'est ce que vous demandez ici.

Copient-ils tous les deux des fichiers de ressources?

Oui, ils copient tous les deux les fichiers de ressources vers des emplacements différents.

Pourquoi avons-nous besoin des deux options?

Nous n'avons pas besoin des deux options. La commande de compilation Maven vérifie le code source contre toute erreur syntaxique qui couvre efficacement le travail effectué par l'option make d'IntelliJ.

Intellij télécharge-t-il automatiquement les dépendances et nous pouvons simplement appeler le projet make, sans utiliser la compilation maven?

Le compilateur d'Intellij peut être considéré comme un compilateur de syntaxe, c'est pourquoi vous avez besoin de maven pour gérer les dépendances de votre projet.

27
Korhan Ozturk

Non, IntelliJ n'appelle pas maven, mais récupère toutes les informations du pom.xml par ex. bibliothèques de répertoires de sortie, etc.

Alors ne vous inquiétez pas, vous pouvez appeler make depuis IntelliJ pour compiler et exécuter votre application. Si vous avez des objectifs spéciaux dans votre fichier de construction maven, vous pouvez l'exécuter à partir de la fenêtre maven.

Toutes les dépendances maven seront téléchargées depuis IntelliJ et stockées dans le référentiel local maven.

3
chokdee

Pensons que nous avons un Projet A qui est utilisé Projet Maven B.

Si vous aviez changé B projet, vous devez mettre à jour ce projet sur A . Ensuite, vous devez compiler B dans A.

Mais si vous n'aviez changé que A, vous n'avez pas à compiler Maven.

2
hurricane