Déployer & Débogage à distance de la Jetée avec IntelliJ 12

J'ai été le piratage et googler pour un certain temps maintenant, et j'ai trouvé plusieurs statck dépassement de threads qui semblait comme ils ont été écrits pour les anciennes versions de l'ide, avec plusieurs serveurs d'applications. Habituellement, ils vous disent d'entrer

java -Xdebug -Xrunjdwp:transport=dt_socket,address=51887,suspend=n,server=y

Une réponse suggère d'utiliser quelque chose comme

-agentlib:jdwp:transport=dt_socket,address=51887,suspend=n,server=y

Mais puis-je obtenir ceci:

Error occurred during initialization of VM
Could not find agent library: libjdwp:transport.jnilib (searched /Library/Java/JavaVirtualMachines/1.6.0_37-b06-434.jdk/Contents/Libraries:/System/Library/Java/Extensions:/Library/Java/Extensions:.)

Puis, après une ou l'autre de ce qui précède, ils vous disent quelque chose comme "Modifier les Configurations> jetty > télécommande et entrez localhost, 51887" (le numéro de port varie)

Toutefois, dans 12, la page que vous atterrissez sur une fois que vous sélectionnez à distance a une pléthore d'options, et il vous demande de JNDI ports, pas jdwp ports sur un autre onglet, il fait suggère l'jdwp paramètres ci-dessus.

Des recherches sur le port JNDI bits, généralement des rendements des instructions pour ajouter des arguments de ce genre pour votre ligne de commande...

-Dcom.sun.management.jmxremote= \
-Dcom.sun.management.jmxremote.port=1099 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false\

Je l'ai fait aussi et je peut voir le port 1099 tenue en java (à l'aide de lsof) et je peux telnet 1099, donc je sais que la JVM est à l'écoute. (Nous allons essayer de ne pas s'inquiéter du fait qu'qui semble dire, ouvrir un port par lequel n'importe qui d'installer arbitraire de code java sur le réseau de votre ordinateur sans mot de passe)

Cependant, dans l'Ide, à chaque fois que j'essaie de déployer et déboguer il me donne le message suivant:

Déployer & Débogage à distance de la Jetée avec IntelliJ 12

Je peux voir java RMI les communications sur 1099 quand je snoop port 1099 avec wireshark (mais ils sont illisibles). De toute évidence, la communication ne sont pas satisfaisants pour l'Ide, alors je me demandais si il y a quelque chose que je dois faire à l'Embarcadère pour l'obtenir à jouer gentil. Notez que la modification de la Jetée version n'est pas actuellement une option, afin de ne pas laisser y aller :).

J'ai aussi essayé de supprimer l'artefact, la désactivation de la faire, et essayer de faire il suffit de connecter le débogueur, mais il me donne toujours le même ballon rouge et le message d'erreur, donc, à l'évidence, le JNDI (port 1099) est nécessaire.

Personne ne voir quelque chose que je fais mal, ou si vous connaissez d'autre chose que je devrais faire pour obtenir que cela fonctionne?

(Je me demande si c'est quelque chose de similaire à ceci: http://youtrack.jetbrains.com/issue/IDEA-65746 problème jboss)

Edit: Grâce à google groupes post j'ai découvert qu'il est possible d'obtenir le débogueur connecté si vous ne spécifiez pas de Modifier les Configurations> + > jetty > à distance, mais au lieu de cela, choisissez Modifier les Configurations > + > à distance, mais le débogage et le déploiement est ce que je suis après, de sorte que seule une moitié de la solution.

Je pense que le fait que je vois une connexion à 1099 via wireshark élimine la possibilité de problèmes de DNS. Clairement la connexion est établie, mais l'échec de la communication

OriginalL'auteur Gus | 2013-02-12