Maven Eclipse Debug “JDWP Transport dt_socket échec de l'initialisation, TRANSPORT_INIT(510)”
Je suis en train de déboguer Maven tests dans Eclipse. Quand j'ai lancer les tests avec le maven option maven.surefire.debug, j'ai cette erreur :
ERROR: transport error 202: bind failed: Address already in use
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690]
/bin/sh: line 1: 27500 Abort trap
C'est la même chose quand j'ai essayé tu le lancement de débogage dans ma coquille.
J'ai essayé d'ajouter le maven option forkMode=jamais, et j'ai une autre erreur avec mon soudure artefact que je n'ai pas sans le maven.surefire.option debug :
Error loading Weld bootstrap, check that Weld is on the classpath
Cependant, la Soudure est sur mon chemin de classe.
Des idées ?
- J'ai trouvé la solution. Le port que j'ai utilisé pour le débogage était déjà en usage, probablement en raison d'un bug de maven. Lors de l'utilisation de maven.surefire.debug, maven attend sur un port. Je l'ai tué une fois, et puis retryed de relancer le maven test. La solution est de fermer le port ouvert (j'ai redémarré ma machine, mais il y a peut être une solution alternative moins radicale...)
- Vous pouvez poster ce que votre propre solution et il faut l'accepter un jour plus tard.
Vous devez vous connecter pour publier un commentaire.
De tuer un processus en écoute sur un port:
Cette commande liste les processus de l'écoute sur tous les ports:
La
-o
option pour afficher l'id de processus.Si vous utilisez un *nix système, vous pouvez affiner un peu plus loin avec:
Lorsque vous avez l'id de processus, vous pouvez le résilier avec:
Windows:
Autres:
netstat -anop
à la liste de pid.5005
. Je vois aussi qu'il a été exécuté comme une commande de typejava -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 -jar xxxxxx
Aller à
Debug configuration
->Remote Java Application
->Connect
onglet, cochezAllow termination of remote JVM
.Puis, quand vous allez à redémarrer le serveur/maven, allez à la
Debug perspective
et cliquez sur leread /stop
bouton.....Il y a longtemps, la question a été posée mais j'ai eu le même problème récemment.
Ouvrez Le Gestionnaire Des Tâches
Tuer tous "java.exe" processus de
Relancer le mvn debug
Espère que ça aidera
Habituellement, le problème c'est que l'autre processus ne cesse de Maven debug port 5005 ouvrir.
Sur mon mac j'ai vérifié le processus qui maintient ce port ouvert par l'exécution de:
La sortie a été:
Et puis j'ai tué le processus:
Si vous souhaitez que ces 2 processus pour être en mesure de courir ensemble, vous aurez à changer le Maven port de débogage d'au moins l'un d'entre eux.
Voir: http://maven.apache.org/surefire/maven-surefire-plugin/examples/debugging.html.
Juste pour la documentation, j'ai eu exactement la même erreur, en cours d'exécution sur mon local:
dans mon cas, le port n'était pas le problème, mais le fichier hôte. La solution est d'ajouter/re-ajoutez/supprimez:
Le fichier de configuration définit
localhost
en tant que par défaut, une solution est d'ajouter que l'hôte ou le changer pour un programme personnalisé.À ajouter sur.. j'ai eu le même problème la semaine dernière, lors du débogage à l'aide d'eclipse a été rendue impossible.
Malheureusement non de la solution, je peux peut-être trouver en ligne a été utile.
La question s'est avéré être que d'une certaine manière le pare-feu supprimé toutes les dll dans mon JRE bin... (j'dt_socket.dll a complètement disparu).
La réinstallation de l'ensemble de la JRE aidé.
La solution pour moi a été de retirer les points d'arrêt du projet! Si vous avez beaucoup de branches et récemment changé parfois éclipse quelque peu perdu de points d'arrêt.