Mais ou se cache le jdk ?

Mais ou se cache le jdk ? - Java - Programmation

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.

Reply

Marsh Posté le 20-11-2003 à 19:34:01   

Reply

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

Reply

Marsh Posté le 20-11-2003 à 19:49:51    

pour tester je fais un vieux truc du genre  
 
if JAVA_HOME = "" ?

Reply

Marsh Posté le 20-11-2003 à 19:50:52    

dtc s'impose

Reply

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 ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 20-11-2003 à 19:55:19    

Taz a écrit :

dtc s'impose


 
au moins quand tu reviens toi, c'est pas pour rien [:le kneu]

Reply

Marsh 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 ?

Reply

Marsh Posté le 20-11-2003 à 19:56:33    

ah merde j'avais dit que j'allais plus sur Java :o

Reply

Marsh Posté le 20-11-2003 à 19:58:29    

chrisbk a écrit :


ben alors il utilise quoi java, JAVA_HOME ou le reg ?


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 :/


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 20-11-2003 à 20:00:22    

benou 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 :/


 
en priorité il utilisera JAVA_HOME ou le reg ? (genre je le set a la main)

Reply

Marsh Posté le 20-11-2003 à 20:00:22   

Reply

Marsh Posté le 20-11-2003 à 20:06:58    

chrisbk a écrit :


en priorité il utilisera JAVA_HOME ou le reg ? (genre je le set a la main)


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 :/


Message édité par benou le 20-11-2003 à 20:07:32

---------------
ma vie, mon oeuvre - HomePlayer
Reply

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

Reply

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!

Reply

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 !

Reply

Marsh Posté le 20-11-2003 à 20:27:31    

hihin  [:virginie]

Reply

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)


Message édité par meumeul le 20-11-2003 à 20:32:16
Reply

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.


---------------
ma vie, mon oeuvre - HomePlayer
Reply

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?

Reply

Marsh Posté le 20-11-2003 à 20:45:25    

fait ton prog en C :o

Reply

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!!!

Reply

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


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 20-11-2003 à 21:50:54    

merci bcp! ca merviteras de chercher... :)

Reply

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 :
  1. @echo off
  2. IF ."%JAVA_HOME%"==. GOTO JdkError
  3. set JAVACMD=%JAVA_HOME%\bin\java.exe
  4. IF NOT EXIST "%JAVACMD%" goto JdkError
  5. set CLASSPATH=..\lib\poseidon.jar;..\lib\umlplugin.jar
  6. set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\jre\lib\rt.jar
  7. echo Classpath is %CLASSPATH%.
  8. set PROJECTNAME=%1%
  9. set DEBUGLEVEL=%2%
  10. "%JAVACMD%" -Xmx160m -Dposeidon.debug.level=%DEBUGLEVEL%  -Dposeidon.java.home="%JAVA_HOME%" -Dposeidon.user.dir.SE=%POSEIDONSE_HOME% -Dposeidon.user.dir.CE=%POSEIDONCE_HOME% com.gentleware.poseidon.Poseidon %PROJECTNAME%
  11. GOTO End
  12. :JdkError
  13. ECHO Could not find a JDK.
  14. ECHO Either you have to install JDK 1.4 (or up),
  15. ECHO or you have to set JAVA_HOME to your JDK installation directory.
  16. pause
  17. :End

Reply

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

Reply

Marsh Posté le 20-11-2003 à 23:35:13    

benou 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 :/

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 [:mlc]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

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...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 21-11-2003 à 00:58:20    


t'es sûr de toi là ????


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 21-11-2003 à 01:00:10    

non


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 21-11-2003 à 01:10:19    

Reply

Marsh 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 :o


---------------
Just because you feel good does not make you right
Reply

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é ? :/


Message édité par benou le 21-11-2003 à 10:58:03

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 21-11-2003 à 10:55:55    

benou a écrit :


bha au contraire : y a juste le numéro de version à canger dans la registry :)


 
modifier le registre, c quand meme pas super ergonomique quand meme

Reply

Marsh Posté le 21-11-2003 à 10:57:48    

chrisbk a écrit :


modifier le registre, c quand meme pas super ergonomique quand meme


c'est pas plus difficile que de changer le JAVA_HOME, hein ! :o
 
et en plus ca peut se fair avec un bete .reg :)


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 21-11-2003 à 10:59:58    

benou a écrit :


c'est pas plus difficile que de changer le JAVA_HOME, hein ! :o


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 :O
 
 
 

Reply

Marsh Posté le 21-11-2003 à 11:25:05    

chrisbk 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 :O


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.


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 21-11-2003 à 11:26:38    

benou 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.


 
ah ouais jme demandais d'un seul coup comment j'avais fait [:ddr555]

Reply

Marsh Posté le 21-11-2003 à 12:12:04    

benou a écrit :


par contre, dark, tu crois pas que c'est plutot le premier java.exe du path qui est utilisé ? :/


 
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 :o )


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 21-11-2003 à 12:30:22    

DarkLord 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 :o )


quand tu tapes "java", windows cherche un executable nommé java dans le path ... donc le jdk l'a forcément ajouté au path ... [:spamafote]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 21-11-2003 à 12:31:18    

oui ca va je suis pas débile hein [:mlc]
il est dans winnt/system32 :D
 
(et non c'est pas crosoft je l'avais déjà viré)


Message édité par darklord le 21-11-2003 à 12:33:30

---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 21-11-2003 à 12:37:48    

DarkLord a écrit :

oui ca va je suis pas débile hein [:mlc]
il est dans winnt/system32 :D
 
(et non c'est pas crosoft je l'avais déjà viré)


 :heink: tu crois que c'est l'installe de java qui ajoute le java.exe dans winnt/system32 ??  :heink:


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed