Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2602 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Compilation: probleme ajout de librairies

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Compilation: probleme ajout de librairies

n°1601179
welcominh
Posté le 20-08-2007 à 15:34:17  profilanswer
 

Bonjour,
 
je m'arrache depuis quelques heures à essayer de compiler mes sources JAVA. Les fenetres sont faites avec une librairie QT Jambi.
J'ai un dossier "mon_prog" pour mon programme qui contient:
http://www.casimages.com/img/jpg/0708200329411046984.jpg
Dans le dossier qtjambi, il y a un fichier qtjambi.jar et un dossier bin qui contient des dll.
 
Dans mon fichier compilation.bat:

Code :
  1. @echo off
  2. echo Compilation en cours...
  3. set path=%path%;.\qtjambi-win32-gpl-4.3.0_01\qtjambi.jar
  4. set path=%path%;.\mysql-connector-java-5.1.0-bin.jar
  5. set path=%path%;"C:\Program Files\Java\jdk1.6.0_02\bin"
  6. cd sources
  7. javac *.java -d ..\class
  8. echo Compilation terminee !!
  9. pause


 
Mais lorsque je veux compiler ca ne marche pas. Le compilateur est bien détecté. Mais la librairie QT jambi n'est pas du tout prise en compte. Il y a des erreurs pour chaque classe de la librairie (cannont find symbol), et les packages donnent du genre "package com.trolltech.qt.gui does not exist" pour les import.
Je suis sous Win XP.
 
Je ne sais plus quoi faire.
Pliz aidez-moi


Message édité par welcominh le 20-08-2007 à 15:38:21

---------------
Direct-download.com, le moteur de recherche pour Mega
mood
Publicité
Posté le 20-08-2007 à 15:34:17  profilanswer
 

n°1601195
jbourdello​n
Posté le 20-08-2007 à 15:54:50  profilanswer
 

C'est pas plutot CLASSPATH au lieu de PATH ?!?  :pt1cable:

n°1601205
welcominh
Posté le 20-08-2007 à 16:01:37  profilanswer
 

Bah bizarrement si je remplace path par CLASSPATH, le compilateur javac n'est pas reconnu du tout.
Ca met alors le message habituel "javac n'est pas reconnu en tant que commande interne...etc"
:(


---------------
Direct-download.com, le moteur de recherche pour Mega
n°1601227
jbourdello​n
Posté le 20-08-2007 à 16:17:53  profilanswer
 

Ben en java on a dex choses :  
 
CLASSPATH : qui contient l'ensemble des repertoires et des jars ou se trouvent tes classes java ou tes librairies
 
PATH (d'ailleurs pas que en java)  contient l'ensemble des repertoires vers les executables  
Donc dans ton cas les 2 premieres lignes CLASSPATH et la 3 eme PATH

n°1601245
welcominh
Posté le 20-08-2007 à 16:36:01  profilanswer
 

Des fois je ne sais plus quoi penser. J'ai fait ce que tu m'as dit mais le probleme reste entier. (librairie pas prise en compte)

 

J'ai essayé:

Code :
  1. @echo off
  2. echo Compilation en cours...
  3. set PATH=%PATH%;"C:\Program Files\Java\jdk1.6.0_02\bin"
  4. cd sources
  5. javac *.java -d ..\class -classpath "C:\Documents and Settings\welcominh\Bureau\STI contact affaire\qtjambi-win32-gpl-4.3.0_01\qtjambi.jar";"C:\Documents and Settings\welcominh\Bureau\STI contact affaire\mysql-connector-java-5.1.0-bin.jar"
  6. echo Compilation terminee !!
  7. pause


Et la paf je sais pas pourquoi ca marche  :pt1cable:. Mais on remarquera que j'ai dû mettre les chemins absolus dans le parametre classpath de la ligne de commande. (j'ai essayé en relatif ca plante comme tout a l'heure), mais ca je sais pas pourquoi.

 

La compilation terminée je m'attaque au execution.bat:

Code :
  1. @echo off
  2. cd class
  3. C:\"Program Files"\Java\jre1.6.0_02\bin\java Contact_affaire -classpath "C:\Documents and Settings\welcominh\Bureau\STI contact affaire\qtjambi-win32-gpl-4.3.0_01\qtjambi.jar";"C:\Documents and Settings\welcominh\Bureau\STI contact affaire\mysql-connector-java-5.1.0-bin.jar"
  4. echo fin de l'execution
  5. pause
 

Evidemment il y a des erreurs qui comme par hasard ne m'interpellent pas, malgré que je code un peu de java:

Code :
  1. Exception in thread "main" java.lang.NoClassDefFoundError: com/trolltech/qt/gui/
  2. QMainWindow
  3.         at java.lang.ClassLoader.defineClass1(Native Method)
  4.         at java.lang.ClassLoader.defineClass(Unknown Source)
  5.         at java.security.SecureClassLoader.defineClass(Unknown Source)
  6.         at java.net.URLClassLoader.defineClass(Unknown Source)
  7.         at java.net.URLClassLoader.access$000(Unknown Source)
  8.         at java.net.URLClassLoader$1.run(Unknown Source)
  9.         at java.security.AccessController.doPrivileged(Native Method)
  10.         at java.net.URLClassLoader.findClass(Unknown Source)
  11.         at java.lang.ClassLoader.loadClass(Unknown Source)
  12.         at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
  13.         at java.lang.ClassLoader.loadClass(Unknown Source)
  14.         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
  15. fin de l'execution
  16. Appuyez sur une touche pour continuer...
 

As-tu une idée de ce que ces erreurs veulent dire?
Merci beaucoup :)


Message édité par welcominh le 20-08-2007 à 17:00:36

---------------
Direct-download.com, le moteur de recherche pour Mega
n°1601269
jbourdello​n
Posté le 20-08-2007 à 16:57:58  profilanswer
 

Au hasard , le chemin vers le jar pour la compil n'est pas le meme que pour l'execution est ce que tu es sur de toi ?

n°1601275
welcominh
Posté le 20-08-2007 à 17:02:33  profilanswer
 

Ah j'ai juste oublié de remplacer. j'ai mis mon pseudo dans les messages pour masquer le nom du proprio du poste sur lequel je bosse. Mais sinon oui j'ai mis le même chemin pour la compilation et l'exécution. [:airforceone]


---------------
Direct-download.com, le moteur de recherche pour Mega
n°1601603
welcominh
Posté le 21-08-2007 à 10:02:30  profilanswer
 

Ah j'ai résolu mon probleme. Je poste ma solution:
 
- Quand je fixe le classpath, il ne faut pas mettre de guillements dans le chemin qu'on ajoute au classpath, et ce même si ce chemin contient des espaces (je croyais pourtant qu'il en fallait  [:airforceone] mais en tout cas c'est ce que j'ai retenu de mes tests).
- Les chemins en relatifs (répertoires courants=.  ,  parent= ..) sont en fonction du dossier dans lequel on se trouve à l'exécution. On a beau mettre fixer un chemin au classpath en relatif au début du script. Si en cours de route, on se met à naviguer dans l'arborescence, ces chemins relatifs changent tout autant.
 
Voila voila, en espérant que ca puisse aider un jour quelqu'un ^^.


---------------
Direct-download.com, le moteur de recherche pour Mega

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Compilation: probleme ajout de librairies

 

Sujets relatifs
probleme SELECT en MATCH avec du HTML...probleme d'image sur un titre (html+css)
Problème d'erreur: Can't connect to local MySQLprobleme pattern pour eregi_replace()
[Access] Requete creation de table et ajout cle primaire[JS]Problème d'execution de fction sur onchange() avec IE7
Probleme marge IE et objet COMProblème d'include entre sous-domaines
probleme dans un projet (niveau debutant)compilation sous vista 64 d'un exe pour windows XP
Plus de sujets relatifs à : Compilation: probleme ajout de librairies


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR