DOS-lancer Java-problème espace chemin

Fermé
mariemarie14 - 22 juil. 2009 à 19:51
 java4ever - 23 juil. 2009 à 12:57
Bonjour,
Je souhaite écrire un batch qui ressemble à ça :
START "C:\Program Files\blabla\javaw.exe" -jar fichier.jar

Le problème c'est que quand je mets les guillements, il me renvoie une erreur : "-jar n'est pas le nom d'un fichier"
Et si je ne les mets pas, il s'arrête à C:\Program sans lire la suite à cause de l'espace.

Je ne sais pas comment faire, quelqu'un a-t-il une idee ?

Merci d'avance,

Marie
A voir également:

9 réponses

re-bonjour mariemarie14
Sauf ton respect, oui tu te trompes !
Le principe du PATH depuis la nuit des temps (enfin depuis dos) est que la recherche d'un exécutable se fait en prenant toujours le chemin le plus à gauche en premier.
Donc si tu fait
PATH=C:\Program Files\java\jdk1.5_0_17\jre;%PATH%
QUEL que soit le contenu de la variable PATH, si j'appelle java ou javaw, je suis sûr d'avoir celui qui est dans
C:\Program Files\java\jdk1.5_0_17\jre
Je développe en java sous Windows depuis des années, et je puis t'assurer que c'est une certitude.
De toute façon, si tu veux vérifier, c'est facile :
avant la ligne d'appel à javaw, rajoute la ligne suivante :
java -version >LE_JAVA_APPELE.txt
lance l'appel de ton bat et vas voir le fichier LE_JAVA_APPELE.txt
Tu constatera, foi d'animal, que je ne raconte pas de salades !
Pour être certain du test, tu peut t'amuser à justement changer le chemin du jre avec les différentes versions et constater que tu as bien la bonne à chaque fois.
Bon courage, tu y es presque !
1
bonjour MarieMarie14
Dans ton batch, met :
PATH=%PATH%;C:\Program files\chemin_du_jre
START javaw -jar Monjar.jar
Tu remplace bien sûr chemin_du_jre par ton chemin (genre java\jdk1.6.0_12\jre\bin)
et là, plus besoin de mettre de guillemets, qui soit dit en passant ont toujours un comportement fantaisiste avec Window.
Petite réflexion, parce que ce n'est pas la première fois que je vois un pb de ce genre :
Je pense que si Microsoft avait su à quoi il s'exposaient en autorisant les blancs dans le noms de fichiers, ils ne l'auraient sûrement pas fait. Quoique, je n'en suis pas sûr finalement ! (joke)
good luck !
0
mariemarie14
23 juil. 2009 à 06:32
Bonjour et merci d'avoir répondu,
je vais tester ça au boulot, mais en fait que fait exactement la ligne que tu m'as dit ? Car on est bien d'accord que Monjar.jar est dans le même dossier que le script ? et que c'est javaw qui est dans Program Files/.../.. ? En fait il existe plusieurs javaw.exe sur ma machine, et j'ai vraiment besoin qu'il se serve de celui-là c'est pour ça.
En tous cas merci de ton aide je vais tester ça tout à l'heure !
Marie
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
23 juil. 2009 à 08:51
hello
essayer
START "C:\Program Files\blabla" "javaw.exe -jar fichier.jar"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mariemarie14
23 juil. 2009 à 10:30
Merci de votre aide.
En fait avec ça : START "C:\Program Files\blabla" "javaw.exe -jar fichier.jar" ça ne marche pas car il dit '-jar' n'est pas un fichier
La solution qu'on a trouvé et qui marche est finalement de mettre le -jar derriere fichier.jar et là ça marche nikel :

START "C:\Program Files\blabla" "javaw.exe fichier.jar -jar "

En tous cas merci !
0
mariemarie14
23 juil. 2009 à 11:18
Rebonjour,

Fichus espaces !

Idéalement, je souhaite mettre une image pour patienter pendant le chargement de l'appli,
j'ai donc fait :
START "C:\Program Files\java\blabla\javaw.exe" -splash:image.png -jar monJar.jar

Comme j'ai pu le trouver sur internet.

Mais il ne comprend pas ce qu'est "-splash:image.png". Avez vous une idée de comment écrire cette ligne différement ?

Merci d'avance !

Marie
0
bonjour mariemarie14
je reprend la conversation, mais je constate que tu as préféré faire "une bidouille" (ceci est amical) en déplaçant l'option -jar au lieu d'utiliser ma suggestion. Je ne prétend pas avoir forcément la meilleure solution, mais la mienne, quelles que soient les options ou arguments que tu va mettre dans ta ligne de commande, fonctionnera et je l'ai testée!
La seule chose que tu dois faire, c'est mettre:
PATH=C:\Program files\chemin_du_jre ;%PATH%
et pas l'inverse comme je te l'avais indiqué, ceci tout smplement pour être sûr, si tu a d'autre javaw dans ton PATH, de donner la priorité à celui qui est dans chemin_du_jre.Pour répondre à ta question postée à 6h du mat, j'ai bien compris que le javaw.exe est dans C:\Program Files\chemin_du_jre et que le fichier jar est dans le répertoire où est lancé le script.
Quand à l-option -splah, elle ne fonctionne qu'en jdk 1.6, donc tu dois avoir une version 1.5 ou antérieure
Elle sert à afficher l'image qui suit l'option pendant le chargement des classes.

Mais je le répète, rajoute le chemin PATH, tu n'auras plus à te soucier de guillemets à mettre ici ou là, puisque la variable PATH fonctionne trs bien avec les espaces dans les noms de fichiers et répertoires.

Bon courage, et essaye ma soluce, j'affirme qu'elle marche parce que je l'ai testée !
0
mariemarie14
23 juil. 2009 à 12:13
Bonjour java4ever et merci pour ta réponse.

Je ne peux pas utiliser ce que tu m'as proposé pour la raison suivante:
il existe plusieurs javaw.exe sur mon poste, et il faut absolument qu'il utilise celui-ci. Or dans PATH il y a aussi les chemins vers les autres javaw.exe donc il risque de ne pas prendre le bon. Enfin je pense.
Dis-moi si je me trompe lol !

en tous cas merci pour ton aide,
Marie
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
23 juil. 2009 à 12:49
pour afficher une image ne faut-il pas utiliser java plutot que javaw ?
0