2012-09-05 6 views
4

Je viens de développer et d'exporter un JAR Runnable utilisant Eclipse sur mon ordinateur portable 64 bits Windows 7. Je viens de l'essayer sur d'autres ordinateurs et cela fonctionne sur un autre ordinateur portable Windows 7 x64 lorsque vous double-cliquez dessus. Cependant, sur un ordinateur portable 32 bits, je ne démarre que si je l'exécute à partir de la ligne de commande en utilisant java -jar "C:\Name of Jar.jar" mais ne renvoie aucune erreur.JAR compilé sur 64 bits Windows ne fonctionnera pas sur 32 bits

Par ailleurs si, si j'utilise la commande javaw "C:\Name Of Jar.jar" je reçois un message d'erreur « Impossible de trouver la classe principale C:. \ Nom du programme jar.jar quittera. »

Est-ce que quelqu'un sait pourquoi, et comment le réparer? Merci d'avance

+0

Java fonctionnera de la même manière, peu importe le nombre de bits. Essayez 'java -jar thejar.jar package.MainClass' –

+0

@PeterLawrey Oh ok, je ne savais pas. Quel est le point d'offrir deux JVM différentes alors? Quoi qu'il en soit, je ne cherchais pas de solutions en ligne de commande - je dois pouvoir faire double clic sur le fichier JAR. Merci quand même! – Andy

+0

La version 64 bits utilise plus de registres et peut utiliser beaucoup de mémoire. La version 32 bits est requise sur les systèmes d'exploitation 32 bits. –

Répondre

2

Avez-vous construit avec JDK 1.7? Peut-être que vous n'avez pas installé JRE7 sur le PC, vous essayez de l'exécuter. C'est un bug bizarre que j'ai rencontré plusieurs fois.

+0

Ah ah - Je me sens plutôt stupide maintenant. Je n'ai pas réalisé que l'ordinateur portable 32 bits n'avait pas JRE 7 sur; Je n'ai même pas réalisé que je n'avais pas JRE 6 sur mon ordinateur portable. J'ai installé JRE 6 (32 bits) sur mon ordinateur portable et exporté à nouveau l'exécutable JAR et maintenant il fonctionne parfaitement sur tous mes ordinateurs portables maintenant. Cela me semble aussi un peu plus rapide. – Andy

+0

C'est juste la réaction que j'ai eu, quand j'ai découvert le problème. Ce bug est venu avec Oracle comme ils ont libéré 1.7;) – Zhedar

+0

:) Ah. Je pensais que même si une application était compilée en utilisant 1.7, tant qu'elle n'utiliserait que les méthodes disponibles en 1.6, elle devrait fonctionner avec seulement 1.6. Et la même chose pour 1.6 et 1.5 etc. Je me trompe, ou est-ce le bug de 1.7? – Andy

1

Sur votre machine 32 bits, cliquez avec le bouton droit de la souris -> Ouvrir avec sur le JAR. Si un JRE est répertorié, vous pouvez l'ouvrir et en faire le programme par défaut. Je ne pense pas que cela concerne le système d'exploitation 32 ou 64 bits.

+1

Vous avez raison . Je ne pense pas que le fait qu'il ait été compilé/exporté sur un système 64 bits a fait une différence. Malheureusement, votre solution n'a pas aidé - mon problème était parce que le 32 bits sur lequel je testais n'avait pas JRE 7 sur. J'ai tout réparé maintenant mais merci quand même – Andy

0

Essayez javaw -jar jar_name. Je pense que cela pourrait faire l'affaire.

+0

Ouais, ça l'a fait fonctionner correctement sans erreur, mais comme je l'ai déjà dit, je ne cherchais pas vraiment une solution en ligne de commande - j'ai besoin de réparer mon exécutable JAR. Je l'ai résolu maintenant mais merci quand même. – Andy

Questions connexes