Aujourd'hui la pratique consiste à utiliser un "équivalent" du binaire statique avec ce qu'on appel des fatjars (ou uberjar). C'est un zip qui contient ton code compilé (des fois le source), tes dépendances et un ou 2 fichiers qui décrivent le truc.
Sur un jar comme ça tu peux simplement faire java -jar fichier.jar et c'est clos. Quel java ? Tu peux bien sûr faire java --version, mais comme il n'y a pas de bibliothèque dans le JRE (hors la bibliothèque standard), ils sont tous interchangeables (tu as une suite de tests qui est là pour le vérifier).
Tu n'a pas java ou pas la bonne version ? Tu le télécharge, le décompresse, set la variable JAVA_HOME dans le dossier que tu viens de créer et tu lance ${JAVA_HOME}/bin/java.
Comme java est de base très découplé du système ça n'est pas un gros problème.
Je dirais qu'en python tu dois faire des pieds et des mains pour te dépatouiller du système (avec les différentes formes d'env, etc) en java c'est les mainteneurs de distribution qui se tapent le sale boulot pour tordre java pour en faire des paquets systèmes (c'est pas la mère à boire mais tu sent que c'est pas fait pour).
[^] # Re: Génération Z
Posté par barmic 🦦 . En réponse au journal C11, listes variantes et le turfu. Évalué à 3.
Aujourd'hui la pratique consiste à utiliser un "équivalent" du binaire statique avec ce qu'on appel des fatjars (ou uberjar). C'est un zip qui contient ton code compilé (des fois le source), tes dépendances et un ou 2 fichiers qui décrivent le truc.
Sur un jar comme ça tu peux simplement faire
java -jar fichier.jaret c'est clos. Quel java ? Tu peux bien sûr fairejava --version, mais comme il n'y a pas de bibliothèque dans le JRE (hors la bibliothèque standard), ils sont tous interchangeables (tu as une suite de tests qui est là pour le vérifier).Tu n'a pas java ou pas la bonne version ? Tu le télécharge, le décompresse, set la variable
JAVA_HOMEdans le dossier que tu viens de créer et tu lance${JAVA_HOME}/bin/java.Comme java est de base très découplé du système ça n'est pas un gros problème.
Je dirais qu'en python tu dois faire des pieds et des mains pour te dépatouiller du système (avec les différentes formes d'env, etc) en java c'est les mainteneurs de distribution qui se tapent le sale boulot pour tordre java pour en faire des paquets systèmes (c'est pas la mère à boire mais tu sent que c'est pas fait pour).
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll