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:
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.
OriginalL'auteur Gus | 2013-02-12
Vous devez vous connecter pour publier un commentaire.
Jetée
remote
configuration nécessite plusieurs étapes manuelles qui sont exécutées automatiquement lorsque vous démarrez Jetée directement de l'IDÉE à l'aide de lalocal
de configuration à la place.Si vous devez absolument utiliser le
remote
de configuration, essayez les étapes suivantes:Dans le
Remote staging
section de laServer
onglet de l'IDÉE Jetée à distance de marche:Same file system
pourType
etHost
<Jetty home>/contexts
dossier dans leLocal path
domaine de lacontexts
section(paramètres seront différents si vous avez Jetée en cours d'exécution sur une autre machine que l'IDÉE, mais je suppose que c'est la même machine dans votre cas)
Passer VM paramètres de la Jetée du processus:
<JNDI port>
valeur doit être la même que celle spécifiée dans leJNDI port
champ de l'IDÉE Jetée de configuration d'exécutionPasser les fichiers de configuration suivants de la Jetée du processus (dans la ligne de commande):
etc/jetty-jmx.xml
etc/jetty.xml
Si vous avez besoin de débogage, vous devez également passer à la Jetée processus de VM paramètres de prise de l'IDÉE de la Jetée configuration d'exécution:
Startup/Connection
onglet, sélectionnezDebug
élément de la liste en vertu de laTo debug remote server JVM ...
Voici un exemple de ligne de commande pour démarrer la Jetée de processus avec toutes les options requises:
merci pour l'info, correction de la ligne de commande
Essayé de courir jetée à l'aide de la configuration locale et reçois principale de fichier non inclus".
OriginalL'auteur CrazyCoder