web-dev-qa-db-fra.com

IntelliJ IDEA exécuter / déboguer un seul fichier

J'ai un projet Java dans IntelliJ IDEA qui a plusieurs packages. Mais certains fichiers de mes packages ont leur propre méthode main() et peuvent être géré par eux-mêmes.

Cependant, si je fais un clic droit sur un fichier donné et que je choisis "Debug/Run File.main ()" IntelliJ essaiera de construire tous les fichiers dans le paquet, qu'ils soient inclus ou non.

Existe-t-il un moyen d'exécuter uniquement ce fichier?

23
ddinchev

Vous pouvez supprimer la tâche Créer dans votre configuration d'exécution. Mais vous devez compiler la classe unique manuellement avant le lancement (clic droit ou Build -> Compile votre classe).

Ou vous pouvez même essayer de compiler l'ensemble du projet si vous avez besoin de plus d'une seule classe. Cela peut fonctionner si vous n'avez aucune dépendance à une classe cassée.

23
meistermeier

Pour exécuter un seul fichier dans IntelliJ IDEA:

Méthode 1:

Cliquez avec le bouton droit quelque part dans la zone d'édition et sélectionnez Exécuter 'ClassName.main ()'. Supposons que vous souhaitiez exécuter HelloWorld, vous devez suivre les étapes ci-dessous:

  1. Faites un clic droit quelque part dans la zone d'édition
  2. sélectionnez Exécuter 'HelloWorld.main ()' dans le menu contextuel enter image description here

Méthode 2:

  1. Ouvrez le fichier dans l'éditeur
  2. Ctrl + Maj + F10
6
Ripon Al Wasim

Voici une solution centrée sur Maven.

Le comportement Intellij par défaut est de refaire tout le projet, et cela peut être vraiment ennuyeux. Je me retrouve à ajouter une classe de test rapide à exécuter souvent, et je dois toujours:

  1. Supprimez le paramètre Build Project de la configuration d'exécution générée automatiquement. Et c'est après qu'il essaie de tout construire.
  2. Shift-Meta F9 (ou équivalent) pour construire uniquement la classe à portée de main
  3. Exécutez la configuration de débogage.

enter image description here

Cependant, cela ne construira toujours pas le module . Alors, voici ce que je fais maintenant.

  • Supprimez le paramètre par défaut du projet de génération de la configuration d'exécution par défaut afin de ne pas le déclencher à chaque création automatique d'une nouvelle configuration.
  • Utilisez Maven (ou Gradle)
  • Définissez la configuration d'exécution pour exécuter l'objectif de compilation maven pour le module

enter image description here

Maintenant, chaque fois que je débogue, seul le module se compile et de manière incrémentielle.

1
Steven Spungin

Je cherchais la même chose. Google m'a d'abord laissé sur ce sujet, je vais donc publier ma solution ici.

C'est possible en remplaçant "Make" dans la configuration d'exécution par un outil personnalisé.

Retirez "Make" et cliquez sur le signe plus. Sélectionnez maintenant "Exécuter l'outil externe". Cliquez à nouveau sur le signe plus pour créer un nouvel outil personnalisé.

Spécifiez votre ligne de commande Java et définissez le répertoire de sortie sur la macro $ OutputPath $.

Voici ma configuration: Tool configuration

Maintenant, spécifiez ceci à exécuter avant le lancement: External tool window

Fonctionne parfaitement pour mon objectif.

0
Rainmaker