utilisation de PROLOG dans du JAVA

utilisation de PROLOG dans du JAVA - Divers - Programmation

Marsh Posté le 20-03-2005 à 14:51:59    

Salut à tous,
 
je cherche à faire une interface graphique en java pour rendre lisible les résultats obtenus avec prolog.  
Aprés recherche j'ai retenu la solution de SWI-Prolog qui offre un moyen de communiquer avec java via sa librairie JPL.
 
Le pb c'est que une fois le tout installé (sous XP SP2), je n'arrive même pas à faire fonctionner les exemples (constitué d'un fichier prolog .pl contenant une base de faits et d'un ficher java .java appelant la base de faits).
Il y a un fichier .bat qui est censé tout faire (compilation du code java etc...), après l'avoir lancé sous DOS, il me met l'erreur : "Exception in thread "main" java.lang.NoClassDefFoundError: Family" où Family est le nom de la classe...
 
 
Du coup voila mon pb, est-ce que qqun aurait réussi à utiliser SWI-prolog et java ensemble via JPL sous XP(sp2)?
Si oui ca m'interesse de savoir comment...
Si non ca m'interesserait de connaitre un autre moyen d'appeler du prolog dans du code java.
 
Merci d'avance   :)

Reply

Marsh Posté le 20-03-2005 à 14:51:59   

Reply

Marsh Posté le 20-03-2005 à 14:53:42    

Ca sens plus le problème de classpath qu'autre chose. Family, c'est une classe à qui ? Elle est dans un jar ?


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 20-03-2005 à 15:01:55    

Family c'est la classe creer par le prog elle est pas définie dans le .jar.
En fait si tu veux le prog ressemble à ca:
--------------------------------------------
import java.util.Hashtable;
import jpl.*;
import jpl.Query;
 
public class Family
{
 
  /** Creates a new instance of Main */
  public Family() {
  }
 
 
 public static void main( String argv[] )
 {
 
  String t1 = "consult('family.pl')";
  Query q1 = new Query(t1);
 
  System.out.println( t1 + " " + (q1.hasSolution() ? "succeeded" : "failed" ) );
 }
}
-----------------------------------------
Et g bien mis le lien vers le rep du .jar dans le %CLASSPATH%
 

Reply

Marsh Posté le 20-03-2005 à 15:08:34    

Pour préciser g donc mon .java cité ci dessus, je le compile: javac Family.java et je tente de le lancer: java Family mais c a se moment la qu'il m'affiche l'erreur. Je ne sais pas trop s'il s'agit d'une erreur du à mon code (je suis debutant en java), ou qqchose d'autre...

Reply

Marsh Posté le 20-03-2005 à 15:09:39    

lance le par :
 
java -cp %CLASSPATH%;. Family


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 20-03-2005 à 15:18:30    

Il me met: "Exception in thread "main" java.lang.NoClassDefFoundError: Files\pl\doc\packages\examples;/"  
où \pl\doc\packages\examples corespond au chemin defini dans %CLASSPATH% qui défini le chemin où est situé le jpl.jar

Reply

Marsh Posté le 20-03-2005 à 15:35:18    

Ah non, on met dirtectement le .jar dans le classpath, pas le répertoire ou trouver le fichier jar.
 
(il y a un article sur le classpath qui traine sur le forum;, à lire)


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 20-03-2005 à 15:42:46    

Humm le pb c'est que ca change rien je viens de retester en changeant %CLASSPATH% mais ca me met toujours la meme erreur... :pt1cable:

Reply

Sujets relatifs:

Leave a Replay

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