web-dev-qa-db-fra.com

deploy / debug Java code sur un serveur distant utilisant Intellij

Je veux exécuter mon Java sur un serveur distant pour une vitesse plus rapide (le serveur est très puissant). Ce que je veux, c'est connecter mon Intellij à ce serveur distant et exécuter mon code. Mais je voulez toujours utiliser l'IntelliJ sur ma machine locale (c'est-à-dire mon ordinateur portable).

J'ai trouvé une section de configuration dans IntelliJ qui se trouve dans Default Setting->Build-executation-deployment-> Deployment et là, je peux définir l'adresse de mon serveur distant ainsi que mon nom d'utilisateur et mon mot de passe. Mais je ne sais pas quoi faire ensuite.

15
HimanAB

Il y a guide de déploiement étape par étape pour PhpStorm, mais pour IntelliJ IDEA ce serait presque la même chose.

Voici l'exemple de configuration pour le déploiement d'un .jar fichier du sous-répertoire artifact vers le serveur distant via SFTP dans /home/serge/artifact répertoire:

connection

mappings

Je configurer l'artefact pour produire le pot exécutable . Ajustez ensuite la configuration de déploiement pour déployer le bocal sur le serveur distant. Ou vous pouvez utiliser Maven/Gradle pour faire de même.

Ensuite, vous pouvez configurer Outil externe SSH distant pour exécuter le bocal sur le serveur (via Java -jar jarname.jar:

remote ssh tool

Exécution sur le serveur distant via Tools | External Tools | hello:

running

Pour automatiser le processus, activez à inclure dans la construction du projet pour l'artefact, activez Automatic upload dans Tools | Deployment et activer téléchargement de modifications externes dans Tools | Deployment | Options.

Pour déboguer le code, utilisez configuration de débogage à distance . Copiez les options JVM nécessaires au débogage et ajustez les options dans votre outil externe SSH distant pour que l'application soit démarrée en mode débogage et puisse accepter les connexions (assurez-vous que les règles du pare-feu sont ajustées pour autoriser les connexions sur le port spécifié).

15
CrazyCoder