erreur compilation

erreur compilation - Java - Programmation

Marsh Posté le 31-10-2013 à 01:36:33    

Bonsoir,
 
 
J'utilise eclipse pour écrire mes codes java, lorsque compile avec eclipse tout va bien (c'est a dire que lorsque je run mon programme il n'y a pas d'erreur et sa affiche le bon résultat). J'exporte mon projet en jar, mais lorsque j'ouvre le fichier .jar il y a une erreur.
 
J'ai découvert après de nombreux testes que l'erreur vient de là :

Code :
  1. br = new BufferedReader(new FileReader(emplacement));


 
le fichier emplacement est un fichier .csv
 
Pourtant encore une foi le code est bon puisque sur eclipse sa marche c'est donc peut être une question de comptabilité ou je ne sais quoi :(
 
Si quelqu'un s'y connais avec eclipse :)
 
Je vous remercie d'avance pour votre aide.


Message édité par originalname le 31-10-2013 à 01:48:34
Reply

Marsh Posté le 31-10-2013 à 01:36:33   

Reply

Marsh Posté le 31-10-2013 à 14:50:39    

Surtout, ne precise pas le message d'erreur, ca nous aiderait trop.
 
Sinon moi quand j'ouvre un fichier jar, je vois les fichiers qu'il y a dedans, donc je suppose que tu voulais dire que tu executes une certaine classe de ton fichier jar? Si c'est le cas, ca sent le probleme de classpath a des kilometres: si tu executes une classe directement avec l'executable Java (ce qui je presume se passe lorsque tu dis "ouvrir ton fichier jar" ), il ne "connait" de base aucune librairie, donc il faut que tu lui fournisse le path vers les librairies que tu utilises dans ta classe (probablement ici, celles qui definissent les classes BufferedReader et FileReader, mais t'en auras surement d'autres plus loin dans ton code).
 
Ca marche sous Eclipse parce que Eclipse connait les references par defaut je suppose.
 
M'enfin je dis peut-etre de la merde, mais comme dit plus tot, tant que tu nous dis pas ton message d'erreur, c'est dur de deviner. Avec le message ca devrait etre bien plus facile, vu que ca donne le type d'erreur ET la ligne de code ou l'erreur survient...


---------------
C'était vraiment très intéressant.
Reply

Marsh Posté le 31-10-2013 à 15:28:11    

Désolé pour le maque de précision. voici un bout de code :

Code :
  1. String[][] matrix = new String [50][50];
  2.  String csvFile = emplacement;
  3.  BufferedReader br = null;
  4.  String line = "";
  5.  String cvsSplitBy = ";";
  6.  int jmax=0;
  7.  int imax=0;
  8.  try {
  9.          
  10.   br = new BufferedReader(new FileReader(csvFile));
  11.   int j=0;
  12.   while ((line = br.readLine()) != null) {
  13.    String[] colonne = line.split(cvsSplitBy);
  14.    if (j==0) {
  15.     jmax=Integer.parseInt(colonne[0]);
  16.     imax=Integer.parseInt(colonne[1]);
  17.    }
  18.    else {
  19.        
  20.    for (int i=0; i<imax; i++){
  21.     matrix[j-1][i]=colonne[i];
  22.    }
  23.    }
  24.    j++;
  25.   }
  26.  }
  27.  catch (FileNotFoundException e) {
  28.   System.exit(1);
  29.  }


 
Lorsque j’exécute le jar, ça exécute System.exit(1).
 
Donc je suppose que tu as raison c'est une question de librairie. Pourtant j'ai réussi à le faire marcher avec les librairies slick et lwjgl, avec l'aide de jarsplice. donc je suppose que je dois faire pareil avec java.io.FileReader et java.io.BufferedReader.


Message édité par originalname le 31-10-2013 à 16:11:19
Reply

Marsh Posté le 31-10-2013 à 18:33:59    

:hello: !
 
Par hasard, elle contient quelle valeur ta variable emplacement ? :??:


---------------
And in the end, the love you take is equal to the love you make
Reply

Marsh Posté le 31-10-2013 à 18:35:46    

"img/map/chapitres.csv" par exemple :)


Message édité par originalname le 31-10-2013 à 18:36:17
Reply

Marsh Posté le 31-10-2013 à 18:37:39    

pourtant le fichier existe dans le .jar

Reply

Marsh Posté le 31-10-2013 à 19:39:19    

originalname a écrit :

pourtant le fichier existe dans le .jar


Pour moi, quand tu écris cette ligne dans ton code :

Code :
  1. br = new BufferedReader(new FileReader(csvFile));


ton programme s'attend à trouver le fichier mais en dehors du jar [:er dehy:3]


---------------
And in the end, the love you take is equal to the love you make
Reply

Marsh Posté le 31-10-2013 à 23:36:07    

Code :


Message édité par originalname le 31-10-2013 à 23:41:10
Reply

Marsh Posté le 31-10-2013 à 23:39:56    

Tu as absolument raison !!!
j'ai mis les dossier au bon endroit et ça marche :))
 
Merci beaucoup.  

Reply

Sujets relatifs:

Leave a Replay

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