Comment configurer la méthode «raccourcir la ligne de commande» pour l'ensemble du projet dans IntelliJ

110

Lorsque j'exécute des tests, j'obtiens l'erreur "La ligne de commande est trop longue". Cela fonctionne si je règle la méthode "Raccourcir la ligne de commande" dans la configuration Exécuter / Déboguer sur "Manifeste JAR" pour la méthode ou la classe spécifique, mais comment le définir pour l'ensemble du projet ou y a-t-il un paramètre global IDE pour cela?

momo
la source

Réponses:

68

Vous pouvez définir un moyen par défaut de raccourcir la ligne de commande et de l'utiliser comme modèle pour d'autres configurations en modifiant le modèle de configuration d' exécution / débogage JUnit par défaut . Ensuite, toute nouvelle configuration Exécuter / Déboguer que vous créez dans le projet utilisera la même option.

Voici le billet de blog associé sur l'option de raccourcissement de ligne de commande configurable.

Andreï
la source
3
Cela ne fonctionne plus dans la nouvelle version car l'option a été supprimée. Comment faire maintenant?
Mulgard
16
Le paramètre qui a fonctionné pour moi est de sélectionner l'option "classpath file" dans la boîte de dialogue qui apparaît en cliquant sur le lien le message d'erreur. C'est sous le paramètre "Raccourcir la ligne de commande".
havoc1
1
sélectionnez l'option "classpath file" fonctionne et je suggère d'inclure cette option dans la réponse pour la nouvelle version de l'IDE.
MrKumar
@MrKumar j'obtiens: 'CommandLineWrapper' n'est pas adapté au lancement d'applications sur Java 9+. Si la configuration d'exécution utilise "classpath file", veuillez le changer en "@argfile". Sinon, veuillez contacter le support.
Tym Pollack
144

Dans votre dossier .idea, modifiez le fichier workspace.xml

Ajouter

<property name="dynamic.classpath" value="true" />

à

  <component name="PropertiesComponent">
.
.
.
  </component>

Exemple

 <component name="PropertiesComponent">
    <property name="project.structure.last.edited" value="Project" />
    <property name="project.structure.proportion" value="0.0" />
    <property name="project.structure.side.proportion" value="0.0" />
    <property name="settings.editor.selected.configurable" value="preferences.pluginManager" />
    <property name="dynamic.classpath" value="true" />
  </component>

Si vous n'en voyez pas, n'hésitez pas à l'ajouter vous-même

 <component name="PropertiesComponent">
    <property name="dynamic.classpath" value="true" />
  </component>
Maulzey
la source
Cette méthode fonctionne dans le cas où votre version d'intellij ne dispose pas de la méthode GUI pour définir cela. Je tiens à souligner qu'il peut s'agir du fichier .idea / workspace.xml OU du fichier <project_name> .iws. Si vous n'avez pas de dossier .idea, recherchez un fichier .iws dans votre projet.
Dennis Bartlett
sauvé ma journée! les modèles par défaut ne fonctionnaient pas pour moi.
habitats le
Cela a fonctionné pour moi, merci
Shylendra Madda
67

Intellij 2018.2.5

Exécuter => Modifier les configurations => Choisir le nœud sur le côté gauche => développer l'environnement => Raccourcir les options de la ligne de commande => choisir le fichier Classpath ou le manifeste JAR

Capture d'écran de la configuration d'exécution / débogage montrant les options de ligne de commande

Rajesh Goel
la source
8
Cette solution doit être définie à nouveau chaque fois que vous exécutez un seul test que vous n'avez jamais exécuté auparavant
4ndro1d
2
Vous pouvez le définir sur le modèle du type de configuration que vous configurez et il ne sera pas nécessaire de le définir pour chaque nouveau test / configuration. Voir la réponse acceptée pour plus de détails.
Dennis Bartlett
1
Ouaip! Cela a fonctionné comme un charme pour moi pour les tests Android! Je vous remercie!
sud007
merci vous êtes la bouée de sauvetage!
Serg Burlaka
2

Merci à Rajesh Goel pour Android Studio:

Exécuter> Modifier les configurations ...

entrez la description de l'image ici

Sélectionnez un test (mieux vaut sélectionner une classe de test parent) et définissez une Shorten command line:option sur classpath file. Puis OK (ou Appliquer, OK).

entrez la description de l'image ici

CoolMind
la source
0

Si vous utilisez la version JDK de 9+, vous devez sélectionner

Exécuter > Modifier les configurations ... > Sélectionner le modèle JUnit .

Ensuite, sélectionnez @argfile (Java 9+) comme dans l'image ci-dessous. Essayez-le. Bonne chance les amis.

entrez la description de l'image ici

Quoc Truong
la source