2013-04-05 15 views
6

skonfigurowałem projekt w Netbeans, utworzyłem skrypt, stworzyłem nową bazę danych z javadb. Mogę się z nim połączyć przez gui - wyświetla zawartość tabele etc, ale gdy uruchamiam aplikację z:Nie znaleziono klasy [org.apache.derby.jdbc.ClientDriver]. Podczas próby połączenia z db

EntityManager em = Persistence.createEntityManagerFactory("lab5PU").createEntityManager(); 

i ten dość długo wyjątek:

[EL Info]: 2013-04-05 21:40:45.554--ServerSession(1198260109)--EclipseLink, version: Eclipse Persistence Services - 2.3.0.v20110604-r9504 
[EL Severe]: 2013-04-05 21:40:45.574--ServerSession(1198260109)--Local Exception Stack: 
Exception [EclipseLink-4003] (Eclipse Persistence Services - 2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.DatabaseException 
Exception in thread "AWT-EventQueue-0" javax.persistence.PersistenceException: Exception [EclipseLink-4003] (Eclipse Persistence Services - 2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.DatabaseException 
Exception Description: Configuration error. Class [org.apache.derby.jdbc.ClientDriver] not found. 
Exception Description: Configuration error. Class [org.apache.derby.jdbc.ClientDriver] not found. 
    at org.eclipse.persistence.exceptions.DatabaseException.configurationErrorClassNotFound(DatabaseException.java:82) 

widzę kierowców javadb w sekcja sterowników w usługach, więc nie mam pojęcia, jaki może być błąd.

EDIT: persistance.xml na żądanie:

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> 
    <persistence-unit name="lab5PU" transaction-type="RESOURCE_LOCAL"> 
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 
    <class>lab5.Colleagues</class> 
    <properties> 
     <property name="javax.persistence.jdbc.url" value="jdbc:derby://localhost:1527/lab5"/> 
     <property name="javax.persistence.jdbc.password" value="mypass"/> 
     <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/> 
     <property name="javax.persistence.jdbc.user" value="admin"/> 
     <property name="eclipselink.ddl-generation" value="create-tables"/> 
    </properties> 
    </persistence-unit> 
</persistence> 

enter image description here

+0

Gdzie jest skonfigurowane połączenie db? W 'persistence.xml'? Czy możesz pokazać tę konfigurację? – pepuch

+0

@ PatrykRoszczyniała dodał persistance.xml na żądanie –

+0

Jestem nowy w JEE, ale ten sterownik 'com.mysql.jdbc.Driver' działa dla mojej aplikacji. – pepuch

Odpowiedz

25

Myślę, że problemem jest to, że masz nie masz sterownika derby ścieżki klasy projektu.

można łatwo osiągnąć dodając bibliotekę JavaDB do projektu:

  • prawym przyciskiem myszy na projekcie
  • Właściwości -> Biblioteki
  • Dodaj Biblioteka -> kierowca JavaDB

Dotyczy to derby.jar, derbyclient.jar i derbynet.jar w ścieżce klas projektu.

derbyclient.jar zawiera klasę org.apache.derby.jdbc.ClientDriver Twój kod narzeka.

+0

nie mam opcji wyboru tej biblioteki, pobrałem biblioteki derby, gdzie powinienem je umieścić? –

+0

Niestety, to nie jest "Java DB", ale "Java DB Driver" ... (w NetBeans 7.3) – jalopaba

+0

dodawanie ich przez dodanie słoika/folderu naprawiono problem, dzięki! –

Powiązane problemy