25. august 2003 - 11:07Der er
71 kommentarer og 1 løsning
problem med placering af mysql driver
Hej Eksperter,
Min mysqldriver hedder mm.mysql-2.0.4-bin og ligger i jre/lib/ext i mit java bibliotek. Jeg henviser til den med com.mysql.jdbc.Driver når jeg opretter en DB-forbindelse. Jeg får en classnotfoundexception, så det lader til at driveren ligger forkert, men hvor skal den så ligge?
jeg er bange for jeg ikke forstår hvad det er jeg skal gøre? Jeg har en tilsvarende app kørende på min linux maskine og der er ikke nogen problemer. Der ligger driveren i jre/lib/ext
Enten denne fra dosprompt og så kør din class fil som normalt SET CLASSPATH=.;c:\j2sdk1.4.0_01\jre\lib\ext\mm.mysql-2.0.4-bin.jar herefter: java WHATEVER
eller denne: java -cp c:\jdk1.4\jre\lib\ext\mm.mysql-2.0.4-bin.jar CLASSEN_SOM_BRUGER_DB
1) Jeg vil fraråde at man anbringer JDBC driver jar filer i lib/ext. Når man opdaterer JDK (Java SDK) så mangler man lige pludeligt noget. Og man får problemer med at have forskellige versioner af samme driver.
2) Jeg vil fraråde at man anbringer JDBC driver har filer i CLASSPATH. Med en lang classpath kan det være meget svært at gennemskue hvad der findes hvor. Og man får også her problemer med at have forskellige versioner af samme driver.
For en almindelig applikation, så angiver man bare classpath til jar-filen eksplicit i java kommandoen.
For en web applikation anbringes den i xxxx/WEB-INF/lib (hvis man bruger DriverManager.getConnection direkte) eller i serverens lib directory (hvis man bruger en connection pool eller man skal bruge container managed security).
Er der nogen af jer som kan forklare mig følgende.
Hvordan kan omtalte jar-fil og totalt identisk java kode køre på linux og ikke på windows, eller var det ikke den driver som blev anvendt på linux, eller var der ændret i java koden ????
Jeg er nemlig pt. stået af på et område, jeg mente at jeg havde rimelig styr på.
Derfor spørgsmålet - det haster ikke en kommentar!
Det er altså lidt mystiskt. Nu har jeg checket en gang til og den eneste db-driver jeg kan finde på min linux maskine er mm.mysql-2.0.4-bin.jar og jeg henviser til den med com.mysql.jdbc.Driver. Der må være noget jeg overser for det kan jo ikke passe. Ohh well. Endnu engang tak for hjælpen begge to ;-)
Tja - som jeg skrev i mine 15:53-15:55 kommentarer så bør man accesse sine jar filer på en sådan måde at man har helt styr på hvilke man bruger til en given applikation.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.