Avatar billede gruppe_trio Nybegynder
20. marts 2003 - 13:56 Der er 10 kommentarer og
1 løsning

MySQL og classpath

Vi har en MySQL database og et Java program, som vi ønsker at køre på en maskine, der har JRE.

Hvordan sætter vi denne maskine op? (Vi tænker specielt på classpath)

Skal programmet (koden) kompileres på en bestemt måde, eller kan vi bare flytte .class-filerne over fra de maskiner vi har udviklet på?
Avatar billede fsconsult.dk Nybegynder
20. marts 2003 - 14:24 #1
For at køre jeres java program, skal i angive en CLASSPATH hvor både jeres class filer ligger samt de JAR filer i benytter (herunder MySQL drivere).

F.eks:

java -cp /mypath/classes:/mypath/lib/mysql-connector-java-3.0.6-stable.bin.jar mypackage.MyApp
Avatar billede gruppe_trio Nybegynder
20. marts 2003 - 14:37 #2
...så hvis vores mysql-connector-java-3.0.6-stable.bin.jar ligger i C:\Programmer\javaprog\lib bliver kommandoen...???

(Beklager at vi må have dette udskåret i pap...)  :-)
Avatar billede gruppe_trio Nybegynder
20. marts 2003 - 14:38 #3
Hvorfor skal iøvrig "mypath" skrives to gange (før og efter "classes:")?
Avatar billede fsconsult.dk Nybegynder
20. marts 2003 - 14:49 #4
Hvis jeres opsætning ser således ud:
C:\
-  Programmer
-  -  javaprog
-  -  -  lib
-  -  -  classes
-  -  -  -  dk
-  -  -  -  -  myapp
-  -  -  -  -  -  MainClass

bliver kommandoen:

java -cp C:\Programmer\javaprog\classes;C:\Programmer\javaprog\lib dk.myapp.MainClass

(forudsat at I benytter pakken dk.myapp og at jeres main metode ligger i klassen MainClass).

"mypath" er angivet flere gange fordi den er med til at angive flere steder i samme path som java skal lede efter java-klasser.
Avatar billede gruppe_trio Nybegynder
20. marts 2003 - 15:02 #5
Det fatter vi ikke...  :-(

mysql-connector-java-3.0.6-stable.bin.jar ligger i C:\Programmer\javaprog\lib

og

"MainClass" ligger i package tmp i C:\Programmer\javaprog

Gider du skrive hele sætningen for os?
Avatar billede fsconsult.dk Nybegynder
20. marts 2003 - 15:08 #6
java -cp C:\Programmer\javaprog;C:\Programmer\javaprog\lib\mysql-connector-java-3.0.6-stable.bin.jar tmp.MainClass

"C:\Programmer\javaprog" gør at java kan finde jeres egne klasser (som ligger med udgangspunkt i denne folder).
"C:\Programmer\javaprog\lib\mysql-connector-java-3.0.6-stable.bin.jar" gør at java kan finde driver-klasserne til MySQL
"tmp.MainClass" beder den køre main metoden i klassen MainClass som skal findes i "package tmp" (fysisk fil = C:\Programmer\javaprog\tmp\MainClass.class)
Avatar billede gruppe_trio Nybegynder
20. marts 2003 - 15:18 #7
Underlig...  Den skriver:

java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
og så en masse tekst under...

Hvad gør vi så forkert?
Avatar billede fsconsult.dk Nybegynder
20. marts 2003 - 15:23 #8
Det kunne tyde på at I ikke bruger mysql-connector-java-3.0.6-stable.bin.jar men en version 2.x af driveren.

Så skal I erstatte C:\Programmer\javaprog\lib\mysql-connector-java-3.0.6-stable.bin.jar med mm.mysql-2.0.xx-bin.jar (eller hvad den præcist hedder - den skal ligge i C:\Programmer\javaprog\lib).
Avatar billede gruppe_trio Nybegynder
20. marts 2003 - 16:12 #9
Så fik vi det til at køre!!

Filen hedder mysql-connector-java-3.0.6-stable-bin.jar (læg mærke til bindestreg mellem "stable" og "bin" - ikke punktum).

Læg et svar hvis du vil have points.
Avatar billede fsconsult.dk Nybegynder
20. marts 2003 - 17:54 #10
nå ja, detajler kan være vigtige  :-)
Avatar billede gruppe_trio Nybegynder
30. marts 2003 - 21:44 #11
De kan være meget vigtige, og det er altfor nemt at overse dem...  :-)

Tak for hjælpen.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester