[ velimzo @ 31.01.2011. 18:06 ] @
Pokusavam da povezem javu i mysql koristeci MySQL Connector/J. Sve vreme dobijam gresku, i ne znam gde gresim.
Koristim:
XP operativni sistem,
jdk1.6.0_23,
MySQL Community Server 5.5.8

Jar file od jconnectora je sacuvan na sledecoj lokaciji:

C:\Program Files\mysql-connector-java-5.1.14\mysql-connector-java-5.1.14-bin.jar

U komand promptu sam podesio classpath na sledeci nacin:
set CLASSPATH="C:\Program Files\mysql-connector-java-5.1.14\mysql-connector-java-5.1.14-bin.jar;"

Kod koji sam koristio za testiranje je sledeci:

Code:
import java.sql.*;

   public class Connect
   {
       public static void main (String[] args)
       {
           Connection conn = null;

           try
           {
               String userName = "root";
               String password = "password";
               String url = "jdbc:mysql://localhost/test";
               Class.forName ("com.mysql.jdbc.Driver").newInstance ();
               conn = DriverManager.getConnection (url, userName, password);
               System.out.println ("Database connection established");
           }
           catch (Exception e)
           {
               System.err.println ("Cannot connect to database server");
           }
           finally
           {
               if (conn != null)
               {
                   try
                   {
                       conn.close ();
                       System.out.println ("Database connection terminated");
                   }
                   catch (Exception e) { /* ignore close errors */ }
               }
           }
       }
   }


Program se bez problema kompajlira sa komandom: javac Connect.java
Greska koja mi se stalno pojavljuje kada pokusam da izvrsim: java Connect
je sledeca:

Exception in thread "main" java.lang.NoClassDefFoundError: Connect
Caused by: java.lang.ClassNotFoundException: Connect
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: Connect. Program will exit.

Ono sto ja ocekujem jeste da mi se pojavi: Database connection established

Izgubio sam dosta vremena pokusavajuc ovo da resim. Unapred sam vam zahvalan na svakoj pomoci.
[ biske86 @ 31.01.2011. 18:37 ] @
Probaj da skineš ; na kraju CLASSPATH.
[ velimzo @ 31.01.2011. 19:06 ] @
pokusao sam, al je rezultat isti...
[ dule_ns @ 01.02.2011. 08:33 ] @
Jre ne može da ti pronađe klasu Connect. Odakle pokrećeš java Connect. Da li se nalaziš u istom folderu u kom ti se nalazi i .class fajl.
[ velimzo @ 01.02.2011. 12:20 ] @
Problem je resen, al ne na onaj nacin kako sam zamislio. Nije samo dovoljno da se nalazim u folderu gde mi je clasa Connect.class, nego moram da i u classpath-u podesim tekuci folder. To jest, moram staviti tacku iza tacka-zarez. (;.)

Prilikom kompajliranja programa postavio sam classpath, pa je to sad izgledalo ovako:

javac -classpath "C:\Program Files\mysql-connector-java-5.1.14\mysql-connector-java-5.1.14-bin.jar;." Connect.java

A prilikom izvrsavanja programa morao sam isto tako da postavim classpath, pa je to izgledalo ovako:

java -classpath "C:\Program Files\mysql-connector-java-5.1.14\mysql-connector-java-5.1.14-bin.jar;." Connect

U svakom slucaju cela stvar je proradila, al mi nije jasno zasto prilikom ovakvog podesavanja classpath-a ne radi. To jest ovako:

set CLASSPATH="C:\Program Files\mysql-connector-java-5.1.14\mysql-connector-java-5.1.14-bin.jar;."

Ako je nekom jasno, moze da objasni. Posto je mnogo jednostavnije izvrsavati program i kompajlirati, bez stalnog naznacavanja classpath-a.
U svakom slucaju hvala vam svima na pomoci.
[ bantu @ 01.02.2011. 16:15 ] @
Zamisli kako ce ti tek biti kad budes imao na desetine klasa i paketa i ko zna cega jos. Zato koristi ant, mnogo olaksava posao.
[ velimzo @ 02.02.2011. 12:11 ] @
@bantu
Vazi, vec sam skinuo ant.
Ako neko ima neki dobar ant tutorijal, moze da okaci link.
[ biske86 @ 02.02.2011. 12:46 ] @
I ja sam zainteresovan za neki dobar tutorijal za ant. Nikad ga nisam koristio. U čemu je glavna fora kod njega? U kom smislu olaksava posao?
[ iMac @ 02.02.2011. 21:20 ] @
Si probao da koristis Eclipse umesto pukog kompajliranja iz konzole?
[ bantu @ 02.02.2011. 21:30 ] @
Evo, prvi hit sa googl-a:
https://supportweb.cs.bham.ac....m/build/tutorials/ant/ant.html
[ biske86 @ 02.02.2011. 21:53 ] @
Ja sam to znao i sam, pitah za neki tutorijal koji ste vi probali a da je bio jasan i jednostavan. Ali hvala na linku..
[ bantu @ 02.02.2011. 22:33 ] @
Pa ovaj sto sam naveo je poprilicno jasan.

Evo ti jedan skroz jednostavan demo projekat sa ant-om. Kada instaliras ant udji u folder sa projektom i otkucaj ant to ce pokrenuti build skriptu.
Na ovom primjeru mozes da vidis kako se uz pomoc anta ciste stari falovi, buildaju novi, pravi jar arhiva i pokrece sam program.
Jako je jednostavno sastoji se od dva fajla, java file i build skripta. Analiziraj skriptu i mislim da ce ti biti jasno kako to sve radi.
A sta sve jos mozes da napravis sa antom otkrivaj sam. :)
Nadam se da sam bio od pomoci.
[ velimzo @ 03.02.2011. 00:51 ] @
@bantu
Hvala za linkove, mislim da ce ovo biti dovoljno za pocetak
@iMac
Zeleo bih da vidim kako stvari funkcionisu iz konzole, pre nego li predjem na neko naprednije razvojno okruzenje.