27 votes

Comment visualiser les commandes shell utilisées par les "configurations d'exécution" d'eclipse ?

Étant donné une "configuration d'exécution" dans Eclipse, je veux imprimer la commande shell associée qui serait utilisée pour l'exécuter.

Par exemple : En ce moment, dans Eclipse, si je clique sur "play", il s'exécutera :

mvn assembly:directory -Dmaven.test.skip=true

Je ne vois pas cette commande, je sais juste que c'est ce que l'IDE doit exécuter, à un moment donné. Cependant, certaines des autres configurations d'exécution sont beaucoup plus complexes, avec de longs classpaths et des options de machine virtuelle, et, franchement, je n'ai parfois aucune idée de ce que serait la commande shell équivalente (en particulier lorsqu'il s'agit de Flex).

Il doit y avoir un moyen d'accéder à la commande shell qui serait associée à une "configuration d'exécution" dans Eclipse/Flex Builder. Cette information doit être disponible, ce qui m'amène à penser que quelqu'un a écrit un plugin pour l'afficher. Ou peut-être existe-t-il déjà une option intégrée à Eclipse pour y accéder.

Existe-t-il donc un moyen de convertir une configuration d'exécution d'Eclipse en une commande shell ?

(pour le contexte seulement : je demande parce que j'écris un script bash qui automatise tout ce que je fais, pendant le développement - depuis le remplissage de la base de données jusqu'à l'ouverture de Firefox et la suppression du cache avant de lancer l'application web. Ainsi, chaque commande que je lance depuis l'IDE doit exister dans le script. Certaines sont délicates à comprendre).

40voto

splash Points 8499

Cela devrait fonctionner pour les processus Java et Maven. Vous pouvez obtenir la ligne de commande à partir des propriétés du processus.

  • exécuter le processus en mode débogage
  • cliquez avec le bouton droit de la souris sur l'élément de processus dans la vue "Debug" et choisissez "Propriétés".
  • la ligne de commande est affichée

13voto

Alex Points 259

Une autre astuce si vous travaillez sur un système d'exploitation Unix (bien que vous deviez être vif à ce sujet...) est de lancer la commande Exécuter... dans Eclipse, puis de basculer vers une invite de commande et d'exécuter cette commande (syntaxe Mac) :

ps -ef | grep java

Cela imprimera les invocations de processus Java en ligne de commande qui sont actuellement en cours d'exécution. Recherchez celui qui correspond à votre processus Eclipse (vérifiez la classe main, qui est le dernier paramètre de la ligne de commande) et voilà !

4voto

miki Points 71

Merci beaucoup splash. une chose à ajouter - je recevais une erreur bizarre à la ligne de commande :

ERROR : erreur de transport 202 : connexion échoué : Connexion refusée ERROR : JDWP Le transport dt_socket n'a pas réussi à d'initialiser, TRANSPORT_INIT(510) JDWP erreur de sortie AGENT_ERROR_TRANSPORT_INIT(197) : Non transports initialisés [../../../src/share/back/debugInit.c:708] ERREUR FATALE dans la méthode native : JDWP Aucun transports initialisés, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) Abandonné !

cela peut être évité en supprimant simplement l'argument agentlib :

-agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:56431

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X