Java est un langage de programmation / machine virtuelle indépendant de la plate-forme.
Dans ce tutoriel, nous allons installer l'implémentation OpenJDK de Java 8 sur une machine Debian 8 (Jessie) ainsi que le processus d'installation de DCEVM (Dynamic Code Evolution VM) - une extension qui permet une redéfinition illimitée des classes à l'aide de Hotswap Agent .
Conditions préalables
- Une nouvelle installation de Debian 8 (Jessie)
Étape 1: Ajout de Jessie-backports à apt config
Ajoutez les lignes suivantes à /etc/apt/sources.list
# jessie-backports allows newer software to be installed
deb http://http.us.debian.org/debian/ jessie-backports main
deb-src http://http.us.debian.org/debian/ jessie-backports main
Étape 2: Mettre à jour apt
Mettre à jour apt pour rafraîchir les packages avec les backports.
apt-get update
Étape 3: installer Java
Installez Java à partir de la liste des packages de backports.
apt-get install -t jessie-backports openjdk-8-jre openjdk-8-jre-headless
Installer DCEVM
Si vous en avez besoin, vous pouvez installer DCEVM openjdk-8-jre-dcevm qui permet de recharger le code Java pendant l'exécution. Veuillez noter que DCEVM n'est pas requis pour exécuter des applications Java.
apt-get install openjdk-8-jre-dcevm
Étape 4: vérifier l'installation
Utilisez la commande ci-dessous pour vérifier que Java est installé:
java -version
La sortie doit ressembler à ce qui suit:
root@debian:~# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-1~bpo8+1-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)
Vérifiez que DCEVM est installé
Si vous avez installé DCEVM, utilisez la commande ci-dessous pour vérifier l'installation:
java -dcevm -version
La sortie doit ressembler à ce qui suit:
root@debian:~# java -dcevm -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-1~bpo8+1-b11)
Dynamic Code Evolution 64-Bit Server VM (build 25.71-b01-dcevm-light, mixed mode)
Comment utiliser DCEVM
Pour utiliser DCEVM, nous devons utiliser l'agent Hotswap susmentionné. Téléchargez-le depuis Github, puis exécutez votre .jarapplication comme suit:
java -dcevm -javaagent:hotswap-agent-1.1.0-SNAPSHOT.jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=127.0.0.1:54321 -jar Your.jar
Cela liera le port de transport hotswap 127.0.0.1:54321auquel un développeur peut se connecter via un tunnel SSH. Il est possible de lier le port de transport à une adresse IP externe, mais c'est un grave problème de sécurité car il permet l'exécution de code arbitraire. Veuillez utiliser le pare - feu Vultr si vous décidez de vous lier à une adresse IP externe.
Remarque: Cet exemple suppose que le pot de l'agent Hotswap est situé dans le même répertoire et nommé hotswap-agent-1.1.0-SNAPSHOT.jar.