Problème avec un JAR (Java)

Résolu/Fermé
kros Messages postés 96 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 28 janvier 2013 - Modifié par kros le 9/08/2012 à 15:19
kros Messages postés 96 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 28 janvier 2013 - 13 août 2012 à 14:32
Salut,
je viens de rencontrer un problème un peu bizarre, j'ai créé une application qui consiste à traiter un grand fichier csv (en utilisant le package NIO), sur eclipse, en lançant l'exécution du programme, tout marche sans problème.

mais quand j'ai créé le fichier .JAR, mon application ne parvient pas à ouvrir un grand fichier de 1million de lignes, mais elle fonctionne sans problème avec un fichier de 20K lignes par exemple.

PS: dans le deuxième cas je lance l'application depuis le JAR
un troisième cas se présente, si je lance le jar avec la ligne de commande, l'application marche sans problème.

est il un problème de mémoire ? comment dois je le résoudre ?

merci d'avance pour votre aide :)
A voir également:

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
9 août 2012 à 16:06
Il est possible que la JVM utilisé sur Eclipse ne soit pas la même que celle par défaut sur le système. En particulier l'une peut-être en 32 bits, et l'autre en 64 bits, ce qui change pas mal de chose...

1er cas: Eclipse > Run > Run Configurations > onglet JRE > Runtime JRE
2ème cas : selon ton OS, regarde avec quelle version de Java le JAR est exécutée.
3ème cas : Dans la ligne de commande, taper: java -version

Pour que cela plante pour le 2è cas et pas les autres, j'imagine que tu vas trouver que la version est différente des deux autres. Trouve la différence et corriges là.

Note : si ça plante selon les JVM sur ta machine, il y a de grande chance pour que ça plante aussi dès que tu passeras sur une autre machine... il faudrait alors penser à revoir ton code !
4
kros Messages postés 96 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 28 janvier 2013 4
9 août 2012 à 16:55
Salut KX,

merci bcp pour ton aide, effectivement vous avez raison, dans le 1er et le 3eme cas, c'est la JRE 6 64 bits qui est appelée, et dans le 2eme cas c'est la jre 6 32bits qui est appelé !

je veux ajouter que dans le deuxième cas j'ai réduit mon fichier jusqu'à 600K lignes, et l'application n'a pas planté, alors je pense que c'est un problème de mémoire.

que doit je faire pour régler mon problème, puisque je veux que mon application s'exécute sur les deux versions

d'avance merci :)
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
9 août 2012 à 17:08
Je ne sais pas ce qu'est censé faire ton application, donc difficile de recenser tout ce qui peut faire que ça plante...

Dans un premier temps il faudrait regarder s'il y a un message d'erreur, ça nous aiderait un peu...
Pour cela il faudrait démarrer le fichier JAR, en ligne de commande, mais avec la JVM 32 bits.

"C:\Program Files (x86)\Java\jre6\bin\java.exe" -jar MonFichier.jar
0
kros Messages postés 96 Date d'inscription lundi 4 février 2008 Statut Membre Dernière intervention 28 janvier 2013 4
13 août 2012 à 14:32
J'ai lancer la lecture du grand fichier dans un thread, l'application ne plante plus ^^

merci KX pour ton aide :)
0