# Source not found // Java MySQL (eclipse)



## blacksh33p (16. Jan 2007)

hiho,

bin am verzweifeln. hab in den properties als externes jar die mysql-connector-java-5.0.4-bin.jar drin
folgender code:

```
package db;

import java.sql.*;

import com.mysql.jdbc.ConnectionPropertiesTransform;
import com.mysql.jdbc.NonRegisteringDriver;
import com.mysql.jdbc.SQLError;
import com.mysql.jdbc.StringUtils;
import com.mysql.jdbc.log.StandardLogger;




public class DBverwaltung 
{
	private String serv, u, pw;
	private boolean connected=false;
	private Connection cn=null;
	private ResultSet rs=null;
	private Statement st= null;
	
	public DBverwaltung(String server, String port, String user, String pass, String dbase)
	{
		server="xxx.de";
		port="3306"; user="xxx"; pass="xxxx"; dbase="usr_web0_2";
		
		
		serv="jdbc:mysql://"+server+":"+port+"/"+dbase+"?user="+user+"&password="+pass;
		u=user;
		pw=pass;
		
		try {
		Class.forName("com.mysql.jdbc.Driver").newInstance();
		} catch (Exception ex) {
           System.out.println(ex.getMessage());
        }
		connected=false;
		connect();
	}
	
	void connect()
	{
		try
		{ 
			
			cn= DriverManager.getConnection(serv);
			st = cn.createStatement();
			rs = st.executeQuery("DROP TABLE IF EXISTS test");
		}
		catch(Exception ex) {System.out.println(ex.getMessage());};
	}

	public final Connection getCn() {
		return cn;
	}
	
	
}
```

wenn ich durchgehe knallt er mir bei Class.forName Source not found rein und bricht ab... 

wär super dankbar für schnelle hilfe. drehe hier schon am rad 

gruß marcel


----------



## SlaterB (16. Jan 2007)

schau mal in die jar, ob dort wirklich genau diese Klasse in genau diesem package vorhanden ist,
da gibts ja auch unterschiedliche Versionen..

machst du ganz normales Run in Eclipse oder etwa vorher ein Jar-Programm oder ähnlich spezielles?

mache mal einen Gegentest in der Konsole:
java -cp .;c:\temp\mysql-connector-java-5.0.4-bin.jar MeineTestKlasse

wozu überhaupt dieses 'newInstance()'?
scheint mir nicht Standard zu sein
http://www.galileocomputing.de/open...sel20_005.htm#Rxx747java20005040008321F024100

was ist die genaue Fehlermeldung?
Class not found 
oder Instanziierungs-Exception?


----------



## blacksh33p (16. Jan 2007)

mache run as java application

.newInstance()
http://dev.mysql.com/doc/refman/5.0...connector-j-examples-connection-drivermanager

packages sind wirklich in der datei vorhanden. er zeigt sich mir auch wenn ich die über package. (dropdownmenu) auswähle

fehlermeldung bei der zeige class.forname springt er direkt raus und schreib source not found

console weis ich nit ob ichs testen kann, da dan dickes ui davor hängt *g is dann nochn bissl aufwendiger


----------



## SlaterB (17. Jan 2007)

na so eine GUI ist ja unnötig, verwende folgendes Programm


```
import com.mysql.jdbc.Driver;

public class Test {
	public static void main(String[] args) {
		System.out.println(Driver.class.getName());
		try {
			// The newInstance() call is a work around for some
			// broken Java implementations

			Class.forName("com.mysql.jdbc.Driver").newInstance();
		} catch (Exception ex) {
			ex.printStackTrace();
		}

		System.out.println("Ende");
	}
}
```

in der Konsole gibts:

D:\Eclipse\workspace\Beispiele>java -cp . Test
Exception in thread "main" java.lang.NoClassDefFoundError: com.mysql.jdbc.Driver

        at Test.main(Test.java:5)

D:\Eclipse\workspace\Beispiele>java -cp .;d:\test\lib\mysql-connector-java-5.0.4-bin.jar Test
com.mysql.jdbc.Driver
Ende


------------

allerdings hilft das wenig bei der Frage nach dem Eclipse-Problem,
aber ein Hinweis:
kompiliert
System.out.println(Driver.class.getName());
korrekt?

wenn nicht, dann ist das ein deutliches Zeichen, dass das jar nicht richtig eingebunden ist

anders als Add External Jar geht aber kaum..,
ist die Datei 485kb groß?


----------



## blacksh33p (18. Jan 2007)

problem gelöst

habs nun anner gemacht.

ServerSocket . threads etc. da muss man kenen treiber angeben 

was da einbinden der jar betrifft. erstmal variable im compiler anlegen auf die jar, danach die var im projekt properties adden, dann gings.


----------

