web-dev-qa-db-fra.com

Installer Java manuellement sur Windows?

J'ai vu de nombreux produits regroupés avec JDK, je me demande s'il existe un moyen d'installer JDK en décompressant simplement le contenu dans un répertoire, il n'y a donc pas d'icône créée dans les programmes d'ajout/suppression, pas d'entrées de registre, etc.

Dans ce cas également: comment configurer Java pour les navigateurs? Et comment configurer les paramètres comme indiqué via l'entrée du panneau de configuration pour Java?

28
sachin

Oui, vous pouvez créer un JDK compressé, décompressez-le sur la machine cible et exécutez Java, javac, etc. à partir de ce répertoire au contenu de votre cœur.

La façon la plus simple de créer un tel fichier Zip est d'installer le JDK sur une machine, puis de compresser le contenu du répertoire JDK. Nous le faisons dans certaines circonstances où nous devons contrôler exactement la configuration de Java qui sera utilisée dans nos déploiements. Dans ce cas, nos scripts pointent simplement Java_HOME (ou l'équivalent) vers notre bundle interne JDK au lieu de compter sur un administrateur système pour installer exactement ce dont nous avons besoin avant l'arrivée.

En termes d'intégration avec les navigateurs, cela peut être un peu plus problématique. La réponse courte est non, vous ne pouvez pas intégrer directement avec le navigateur sans certains sorte d'installation.

15
Bob Cross

Selon this , j'ai créé un script batch pour construire automatiquement des archives jdk.

Les parties essentielles du lien sont:

  • Créer un répertoire JDK fonctionnel ("C:\JDK" dans ce cas)
  • Téléchargez la dernière version de JDK depuis Oracle (par exemple "jdk-7u7-windows-i586.exe")
  • Téléchargez et installez 7-Zip (ou téléchargez la version portable 7-Zip si vous n'êtes pas administrateur)
  • Avec 7-Zip, extrayez tous les fichiers de "jdk- [6-7] u? -Windows-i586.exe" dans le répertoire "C:\JDK"
  • Dans la commande Shell (cmd.exe), procédez comme suit:
    1. changez le répertoire en répertoire C:\JDK.rsrc\Java_CAB10
    2. exécuter la commande: extrac32 111
  • Décompressez C:\JDK.rsrc\Java_CAB10\tools.Zip avec 7-Zip
  • Dans la commande Shell (cmd.exe), procédez comme suit:
    1. changez le répertoire en C:\JDK.rsrc\Java_CAB10\tools \
    2. exécuter la commande: pour/r% x dans (* .pack) faire.\bin\unpack200 -r "% x" "% ~ dx% ~ px% ~ nx.jar" (cela convertira tous les fichiers du pack en bocal)
  • Copiez le répertoire entier et tous les sous-répertoires de c:\JDK.rsrc\Java_CAB10\tools "où vous voulez que votre JDK se trouve et configurez manuellement Java_HOME et PATH pour pointer vers votre répertoire JDK et son sous-répertoire BIN.
34
Edison

Vous pouvez utiliser SysInternals RegMon et FileMon (maintenant détenu et distribué par MS) pour voir exactement ce qui est modifié par l'installateur Java. Je pense qu'il y aura un certain nombre de les entrées de registre que vous voudrez créer. Des produits comme l'installateur WISE, par exemple, utilisent également ce type d'approche sous le capot pour reconditionner les installations de produits (par exemple en tant que MSI).

Veuillez faire attention car il y a aussi des décisions dynamiques prises par l'installateur qui peuvent affecter ce qui est installé (par exemple sur XP vs serveur W2K3) ). J'ai été mordu par cette fois en ce qui concerne les pages de code installées. Je ne me souviens pas des détails précis, mais l'effet était qu'un fichier de page de code manquait dans mon JRE + JDK intégré (partie légalement redistribuable uniquement). erreur d'exécution absurde dans mon code. Il va sans dire que la même chose s'applique aux DLL JVM serveur vs client.

4
David Taylor

Vraiment, non, du moins si vous voulez l'utiliser à partir de Windows et non pas, disons, de cygwin. Windows dépend trop du registre; vous pouvez simuler les mises à jour du registre nécessaires, mais un logiciel qui déplace les fichiers au bon endroit et met à jour le registre est appelé "un programme d'installation"; vous réinventeriez simplement le programme d'installation.

3
Charlie Martin

Je pense que cela était au moins réalisable dans une mesure limitée avec les versions antérieures de Java - Je ne sais pas si c'est toujours le cas.

La plupart des entrées de registre sont utilisées pour des choses comme les plug-ins de navigateur, comme vous l'avez mentionné dans la question. Si vous juste voulez pouvoir exécuter Java (par exemple à partir d'un fichier batch), c'est une chose - mais vraiment installation c'est même si vous voulez simplement l'exécuter, vous devrez faire attention à toujours utiliser explicitement celui que vous souhaitez, plutôt que d'utiliser accidentellement celui qui est installé pour une partie de votre application.

Quel est votre cas d'utilisation réel? Avez-vous réellement besoin d'un plugin de navigateur? Quel aspect de la configuration vous intéresse? Une grande partie de la configuration du panneau de commande concerne les mises à jour et l'intégration du navigateur. De nombreux autres aspects peuvent être contrôlés à l'aide des options de ligne de commande pour définir des propriétés système spécifiques.

3
Jon Skeet

Si vous voulez simplement fournir une JVM avec votre application, c'est bien, mais je ne recommanderais pas plus que cela.

2
adrian.tarau

Si vous voulez simplement avoir les fichiers JDK (JRE), vous pouvez exécuter le programme d'installation dans sandboxie . Une fois installé dans le sandbox, copiez simplement les fichiers depuis c:\sandbox et vous avez terminé.

Je l'utilise pour compiler et exécuter d'anciennes applications Java qui ne peuvent pas être migrées facilement vers une version plus récente de Java. Je peux diriger Eclispe vers ces JDK et lui dire d'être conforme à Java 1.3.

1
BetaRide

Téléchargez simplement la version du serveur Windows de Java à partir de la page de téléchargement Oracle. Configurez vous-même les variables Java_HOME et PATH.

1
rtconner