En fait j'obtiens le même message d'erreur que lorsque le fichier n'est pas à la bonne place :
error(existence_error(source_sink,jeux_hex2.pro),existence_error(load_files(user:jeux_hex2.pro),1,file,jeux_hex2.pro,0))
Dans le projet Eclipse, le fichier est à la racine du projet.
Dans le run configuration -> Arguments -> Workind Directory c'est par défaut :
${workspace_loc:NomDuProjet}
Quand je run depuis Eclipse ça fonctionne.
Quand j'essaie de l'exporter en Runnable Jar File ça ne fonctionne plus...
Mais par contre maintenant j'ai le fichier dans le .jar.
Mais apparemment le user: n'est pas au bon endroit dans le jar...
J'ai réussi à utiliser sp.restore("banch.sav"); en compilant le programme prolog :
compile(bench),save_program('bench.sav').
Il charge en exécutant depuis Eclipse, mais toujours pas depuis le runnable jar file...
=======================================
Edit : Je suis sur une piste là.
J'ai ouvert le fichier comme ça :
1 2 3
| File test = new File("bench.sav");
System.out.println(test.getAbsolutePath());
sp.restore(test.getAbsolutePath()); |
Depuis Eclipe ça prend bien le workspace depuis le jar ça prend le dossier contenant le jar.
Le fichier est à l'intérieur du jar mais on regarde à coté du jar.
Le fichier est dans :
Dossier/Projet.jar/banch.sav
Et on regarde dans :
Dossier/banch.sav.
Si je met :
Dossier/Projet.jar
Dossier/banch.sav
Et ben ça fonctionne, mais j'aimerai mieux que banch.sav soit dans le jar.
Mais je n'arrive pas à avoir un path correct...
Partager