Mais ou se cache le jdk ? - Java - Programmation
Marsh Posté le 20-11-2003 à 19:35:40
teste si la valeur d'environnement JAVA_HOME est initialisée. Si ce n'est pas le cas, tu peux afficher un joli message d'erreur comme tu dis, expliquant que JAVA_HOME doit contenir le répoertoire ou le JDK (ou JRE) est installé
par exemple JAVA_HOME=c:\jdk1.4.1_02
Marsh Posté le 20-11-2003 à 19:49:51
pour tester je fais un vieux truc du genre
if JAVA_HOME = "" ?
Marsh Posté le 20-11-2003 à 19:55:11
J'y connais rien en batch windows, mais y a pas un moyen de récupérer des valeurs de la registry ?? si c'est le cas, il y aurait moyen de trouver directement le rep du jdk sans utiliser le JAVA_HOME ...
Marsh Posté le 20-11-2003 à 19:55:19
ReplyMarsh Posté le 20-11-2003 à 19:55:57
benou a écrit : J'y connais rien en batch windows, mais y a pas un moyen de récupérer des valeurs de la registry ?? si c'est le cas, il y aurait moyen de trouver directement le rep du jdk sans utiliser le JAVA_HOME ... |
?
ben alors il utilise quoi java, JAVA_HOME ou le reg ?
Marsh Posté le 20-11-2003 à 19:58:29
chrisbk a écrit : |
il utilise la registry ...
JAVA_HOME c'est une magouille qui fonctionne sous tous les OS (y a tjs des variables d'environnement), mais le problème c'est que lors de l'installation de la jdk, cette variable n'est pas affectée
Marsh Posté le 20-11-2003 à 20:00:22
benou a écrit : |
en priorité il utilisera JAVA_HOME ou le reg ? (genre je le set a la main)
Marsh Posté le 20-11-2003 à 20:06:58
chrisbk a écrit : |
euh ... attend ... je me demande si je dis pas une connerie ...
en fait, je crois que ca a rien à voir avec la registry (bien que les informations y soient) : je crois que ca utilise juste le premier java.exe que ca trouve dans le path
Marsh Posté le 20-11-2003 à 20:18:19
mais JAVA_HOME marche non?
bah je vais voir. un ptit
shell$ set
pour voir sil est la
Marsh Posté le 20-11-2003 à 20:22:56
oups... il est pas dans la liste...
Kkun a til une idée?
J'ai pas trés bien compris les histoires de registre de benou
(rappel : je veux juste vérifier dans un *.bat ou pkoi pas dans un .c, si la jvm est installée, et en bonus le chemin)
Merci!
Marsh Posté le 20-11-2003 à 20:25:27
ah ben si c un .c c'est de la rigolade, tu regarde les vars d'env qui t'arrivent par env, justement, avec un prime un scan du registre et hop !
Marsh Posté le 20-11-2003 à 20:28:29
lol... désolé mais si tu pouvais expliciter ca m'arrangerais
le c, je touche pas trop (en meme temps java non plus..)
(mais l'idéal ca serait un . bat pour le moment)
Marsh Posté le 20-11-2003 à 20:32:29
meumeul a écrit : mais JAVA_HOME marche non? |
le problème avec le JAVA_HOME, c'est qu'il faut que ce soit l'utilisateur qui l'ait fixé manuellement : il est pas fixé lors de l'instalation du jdk.
Marsh Posté le 20-11-2003 à 20:44:34
ah ok... donc ma combine marche pas..
Par contre je suppose que l'installe inscrit des clefs dans
la base de registre de windows. En .bat, ca doit etre difficile a recuperer ca... etant donné que la base de reg n'est utilisée qu'en mode graphique et pas sous le vieux dos de base.
Peut etre ca a changé avec l'émulation dos de Xp&2000 ?
kkun a une idée?
Marsh Posté le 20-11-2003 à 20:53:12
lol fo que je change de topic alors
mais c clair, je crois que g pas le choix. les batch c pourri ....
Bah zavez quand meme plus ou moins repondu a ma question
merci!!!
Marsh Posté le 20-11-2003 à 21:14:04
pour info :
- HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion : te donne le numéro de version XXX
- HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\XXX\JavaHome : te donne le chemin d'instalation
Marsh Posté le 20-11-2003 à 22:33:26
si ca peut t'aider j'ai trouvé ca en fouillant dans l'install de poséidon :
Code :
|
Marsh Posté le 20-11-2003 à 23:20:44
Oué merci Germain.
Le problème, c ke ma variable JAVA_HOME elle est pas dans ma liste de variables d'environnement. En fait, c assez louches ces histoires de variables, parce que quand tu fais des set, il te les garde pas tout le temps, je capte pas pourkoi....
M'enfin je vais quand meme essayer! Merci
Marsh Posté le 20-11-2003 à 23:35:13
benou a écrit : |
si elle l'est
et la registry, pardon mais ça pue.
et TOUS les scripts de demarrage que j'ai vu utilise JAVA_HOME, avec quoi tu viens toi
Marsh Posté le 20-11-2003 à 23:36:38
et ça permet justement de pas tomber par hasard sur la jvm pourrie de ms qui elle va se trouver sur le path avant celle de sun...
Marsh Posté le 21-11-2003 à 00:58:20
the real moins moins a écrit : si elle l'est |
t'es sûr de toi là ????
Marsh Posté le 21-11-2003 à 01:00:10
ReplyMarsh Posté le 21-11-2003 à 01:10:19
ReplyMarsh Posté le 21-11-2003 à 09:25:14
-- > avec les nouvelles installations du JDK, JAVA_HOME n'est pas initialisé et pourtant il va bien chopper le bon java. Je suppose qu'il y a une arnaque quelconque ds la registry de windows pour ça (comme l'a montré benou, il y a bien des valeurs dans la registry qui pointent vers le JDK/JRE que tu installes)
maintenant si tu veux switcher de version c'est pas glop -> JAVA_HOME pawa
Marsh Posté le 21-11-2003 à 10:52:46
DarkLord a écrit : -- > avec les nouvelles installations du JDK, JAVA_HOME n'est pas initialisé et pourtant il va bien chopper le bon java. Je suppose qu'il y a une arnaque quelconque ds la registry de windows pour ça (comme l'a montré benou, il y a bien des valeurs dans la registry qui pointent vers le JDK/JRE que tu installes) |
bha au contraire : y a juste le numéro de version à changer dans la registry
par contre, dark, tu crois pas que c'est plutot le premier java.exe du path qui est utilisé ?
Marsh Posté le 21-11-2003 à 10:55:55
benou a écrit : |
modifier le registre, c quand meme pas super ergonomique quand meme
Marsh Posté le 21-11-2003 à 10:57:48
chrisbk a écrit : |
c'est pas plus difficile que de changer le JAVA_HOME, hein !
et en plus ca peut se fair avec un bete .reg
Marsh Posté le 21-11-2003 à 10:59:58
benou a écrit : |
sauf que changer JAVA_HOME ca peut se faire avec un vieux .bat qui lance apres le jar/trucmuche qu'on veut pour finalement remettre tout en etat quand c fini, c quand meme plus propre
Marsh Posté le 21-11-2003 à 11:25:05
chrisbk a écrit : |
je sais pas de où vous croyez que juste en affectant le JAVA_HOME ca choisir totu seul le bon exe à lancer
ce qui est important c'est le lancer le bon java.exe ! => ce qui est important c'est la PATH ! la JAVA_HOME c'est un truc qui est habituellement pour les prog (genre tomcat, ant , etc ...) où ils ajoutent /bin/java.exe pour savoir quel java.exe lancer.
Marsh Posté le 21-11-2003 à 11:26:38
benou a écrit : |
ah ouais jme demandais d'un seul coup comment j'avais fait
Marsh Posté le 21-11-2003 à 12:12:04
benou a écrit : |
J'ai installé le dernier JDK de sun
je fais java en ligne de commande sans avoir rien changé il me lance le bon jdk (je dois avoir peut etre une VM crosoft qqpart)
J'ai pas de JAVA_HOME
le path vers mon JDK n'est pas dans mon path
donc je suppose qu'il y a une arnaque dans la registry (c'est ce que je dis depuis le début )
Marsh Posté le 21-11-2003 à 12:30:22
DarkLord a écrit : |
quand tu tapes "java", windows cherche un executable nommé java dans le path ... donc le jdk l'a forcément ajouté au path ...
Marsh Posté le 21-11-2003 à 12:31:18
oui ca va je suis pas débile hein
il est dans winnt/system32
(et non c'est pas crosoft je l'avais déjà viré)
Marsh Posté le 21-11-2003 à 12:37:48
DarkLord a écrit : oui ca va je suis pas débile hein |
tu crois que c'est l'installe de java qui ajoute le java.exe dans winnt/system32 ??
Marsh Posté le 20-11-2003 à 19:34:01
Bonjour,
voila, j'ai créer un batch (*.bat) pour lancer mon appli sur les système crosoft (oui, je sais, c mal... )
Dedans, je modifie le classpath, en y ajoutant les classes rajoutées, utilisée par le programme.
Jusque la tout va bien.
Mon problème : tester avant d'executer java nomClasse -classpath blablabl, si la jvm est installée, et dans quel repertoire se trouve elle ( entre autre le rep /bin)
Ansi au lieu d'afficher "commande externe inconnue", je met un joli message d'erreur personalisé avec les instructions a suivre si la jvm est pas installée.
Existe t il une variable d'environnement permettant cela?
et si oui, commnt la tester?
Merci beaucoup de votre attention.