driver jdbc Postgresql [java] - Java - Programmation
Marsh Posté le 20-01-2005 à 12:21:59
Vérifie que la classe en question est bien dans le JAR à l'endroit renseigné. Vérifie ton classpath : le JAR doit s'y trouver explicitement, pas seulement le répertoire dans lequel il se trouve.
Marsh Posté le 20-01-2005 à 12:34:03
J'ai testé le coup du nom du jar dans le classpath, ça change rien.
Pour l'emplacement de la classe, j'ai un peu matté les sources ça semblait correspondre. Par contre je sais pas comment "lire" un jar.
Marsh Posté le 20-01-2005 à 12:42:57
electricblue a écrit : J'ai testé le coup du nom du jar dans le classpath, ça change rien. |
Ca explique pas mal de choses.
Bon. Utilise un quelconque archiver, genre WinRAR ou FileZip sous Windows pour naviguer facilement dans le JAR.
Fais voir ton classpath aussi.
Marsh Posté le 20-01-2005 à 13:00:13
et surtout, va lire le topic classpath, merci.
Marsh Posté le 20-01-2005 à 13:10:01
Dans l'archive je trouve bien "Driver.class" dans le chemin "org.postgresql".
Mon classpath: C:\pgsqljdbc\postgresql-8.0.309.jdbc3.jar;C:\mysqljdbc
Marsh Posté le 20-01-2005 à 17:06:38
electricblue a écrit : Dans l'archive je trouve bien "Driver.class" dans le chemin "org.postgresql". |
ben logiquement, si ces informations sont vrais, tu ne peux pas pouvoir de ClassNotFoundException ... bizarre ...
Tu es bien sûr de l'avoir configuré correctement ton classpath ?
Marsh Posté le 20-01-2005 à 17:19:13
Vérifie qu'il n'y ait pas de coquille (un simple - à la place d'un _ ou un . mal placé et c'est foutu). Fais un dir C:\pgsqljdbc\postgresql-8.0.309.jdbc3.jar pour être sûr.
Tu utilises un truc genre jBuilder ou autre ?
Marsh Posté le 20-01-2005 à 17:54:22
sircam a écrit : |
100 balles sur sircam.
(reste à voir aussi comment est déclaré le classpath...)
Marsh Posté le 21-01-2005 à 14:39:48
Non, je lance en ligne de commande dans une console: java -jar jar\monappli.jar
Je vérifie bien que les variables d'environnement de la console sont bonnes (notamment le CLASSPATH).
J'ai renommé le driver pour qu'il ait un nom potable (postgresql.jar).
Mais j'ai toujours l'erreur
Marsh Posté le 21-01-2005 à 16:29:18
quand tu lances avec -jar, ca ne prend pas le classpath system, ca utilise celui du meta-inf ... essaye de le lancer comme ca :
java -classpath %CLASSPATH%;jar\monappli.jar la.classe.Principale
Marsh Posté le 21-01-2005 à 17:10:19
Ahhh ça marche, merci bcp
Par contre ya un truc que je pige pas: pq en modifiant l'URL et le driver pr que ce soit compatible avec mySQL, et sans changer quoi que ce soit d'autre, ça marche??
Le driver mySQL est de base dans un des chemins utilisé par java??
Marsh Posté le 21-01-2005 à 17:26:14
ReplyMarsh Posté le 21-01-2005 à 17:41:27
C'est ce que je pensais, d'où mon incompréhension.
Je ferai plus de tests la semaine prochaine.
Sinon comment on peut changer le CLASSPATH du meta-inf?? Moi je n'ai qu'un fichier MANIFEST.MF
Marsh Posté le 21-01-2005 à 17:42:47
Reply
Marsh Posté le 20-01-2005 à 12:19:12
J'essaie de me connecter à une base postgresql via un programme java.
La base est installé, des tables créées et les droits donnés.
J'ai téléchargé le driver jdbc sous format "jar" indiqué sur le site www.postgresql.org, je l'ai mis ds un répertoire que j'ai ajouté à mon classpath.
Ms qd j'essai d'initaliser le driver dans mon programme, j'ai une erreur "java.lang.ClassNotFoundException: org.postgresql.Driver"
Voici un bout du programme:
Ca plante du niveau du "Class.forName". J'ai essayé avec et sans le "newInstance()" à la fin, en ajoutant "jdbc" dans la chaine, ms rien n'y fait.
J'ai testé le programme avec une base mysql et ça fonctionne bien (en remplaçant ce qu'il faut).
J'ai java 1.4.2, le bon driver jdbc pour cette version, le tout sous windows xp.
Merci d'avance
Message édité par electricblue le 21-01-2005 à 14:15:33