Récupérer une JRE / JDK dans un zip – Stack Overflow

Au boulot, on n’a pas toujours l’entière administration de son PC. En ce moment, mon client me fourni un PC sous Windows où je ne suis pas administrateur. Ne pas être administrateur signifie une grosse limitation pour moi qui adore tester, installer, désinstaller logiciels et librairies dans tout plein de langages différents. Il faut faire la demande à mon chef, qui en fait la demande à l’exploitation, qu’ils étudient la stabilité et la provenance du logiciel en question et qu’ils lancent eux-mêmes la procédure d’installation. Entre la réactivité de chacune des personnes concernées et l’hypothèse que l’information exacte sur le logiciel et sa version ont bien été transmises, j’attends 2 semaines avant d’avoir l’information que la procédure est terminée.

Ce genre de procédure est inadaptée pour nous, développeurs, qui souhaitons seulement vérifier un principe, une idée ou prouver une idée rapidement.

Dernièrement nous avons souhaité passer sous Java 8 et suivre les premières mises à jour importantes pour JavaFX. Pour cela, nous avons téléchargé les versions beta et release candidate de la JDK et nous nous sommes retrouvés avec un exécutable Windows qui souhaite lancer une installation et on se retrouve bloquer.

En cherchant un peu, on tombe sur un sujet Stackoverflow qui nous donne plusieurs solutions :

  1. Trouver une version portable de la JDK (ce qui n’est pas si facile que ça)
  2. Extraire les informations de l’exécutable directement (c’est ce que j’ai fait)

Voici la procédure trouver sur Stackoverflow que je souhaite garder à porter de main (et que je répète ici en français) :

  • Créer un répertoire de travail JDK (C:\JDK in this case)
  • Télécharger la version de la JDK que vous souhaitez tester
  • Télécharger et installer un gestionnaire de fichiers compresser (par exemple 7-zip)
  • Extraire (avec 7-zip) le contenu de l’exe dans le répertoire de travail C:\JDK
  • En ligne de commande Windows (cmd.exe) :
    • Changer de répertoire et se placer dans : C:\JDK\.rsrc\JAVA_CAB10
    • Exécuter la commande : extrac32 111
  • Décompresser le fichier C:\JDK\.rsrc\JAVA_CAB10\tools.zip
  • En ligne de commande Windows (cmd.exe) :
    • Changer de répertoire et se placer dans : C:\JDK\.rsrc\JAVA_CAB10\tools\
    • Exécuter la commande :
      for /r %x in (*.pack) do .\bin\unpack200 -r "%x" "%~dx%~px%~nx.jar"
      (Cela va convertir tous les fichiers pack en jar)
  • Copier tout le répertoire et les sous-répertoires C:\JDK\.rsrc\JAVA_CAB10\tools où vous souhaitez avoir votre JDK et mettre à jour les variables d’environnement JAVA_HOME et PATH afin qu’ils pointent vers la JDK et son répertoire BIN.

Source : java – How can I get the latest JRE / JDK as a zip file rather than EXE or MSI installer? – Stack Overflow.

Liens utiles :