Ich benutze Eclipse EE Kepler und ich versuche, Derby in meinem Programm zu laufen. Ich habe zu meinem Build-Pfad derby.jar
und derbyclient.jar
hinzugefügt und immer noch bekomme ich den folgenden Fehler: java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver
. Kann mir jemand helfen, dieses Problem zu lösen?java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver
Antwort
Durch Hinzufügen von jar zum Build-Pfad in Eclipse-Projekt, machen Sie Derby-Treiber zur Kompilierzeit verfügbar. Es ist jedoch wichtig, dass Sie es auch verfügbar machen, wenn der Container es ausführt. So kopieren Sie Ihre JAR-Datei in Server-Verzeichnis lib.
Ich habe bereits mein Problem gelöst - o kopiert denby.jar und derbyclient.jar in meine Programme (x86)/Java/jre ... und es begann zu arbeiten. Danke für die Hilfe. –
Das Hinzufügen zum jre-Verzeichnis ist keine richtige Lösung. Es ist keine gute Methode, irgendwelche JARs in das JRE-Verzeichnis zu schreiben ... Sie müssen es in Ihren Klassenpfad aufnehmen oder das erforderliche jar in das Projekt packen. –
Sie sollten diese JAR-Dateien weder dem JRE-Verzeichnis noch dem lib-Verzeichnis des Servers hinzufügen. Die wirkliche Lösung ist, die Gläser in Ihre Kriegsdatei zu bündeln. Sie sollten ein Build-Tool wie Ant oder Maven in Betracht ziehen. Hier ist, wie dies mit Maven zu erreichen:
- Maven installieren (für Windows, nach diesem Tutorial: http://www.mkyong.com/maven/how-to-install-maven-in-windows/)
- ein pom.xml Erstellen an der Wurzel Ihres Projektes.
- Fügen Sie Ihre Abhängigkeiten zu dem pom (siehe http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html für weitere Details)
- den Schatten Plugin Ihre pom hinzufügen
- Run "mvn-Paket" an dem Projekt
(http://maven.apache.org/plugins/maven-shade-plugin/examples/includes-excludes.html für weitere Details) hier ist ein Beispiel pom.xml (ist dies wahrscheinlich nicht ein funktionales Beispiel):
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.10.2.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<minimizeJar>true</minimizeJar>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
ich gleiches Problem hatte (Windows 7, JDK 7, Eclipse Kepler) und gerade hinzugefügt C:\Program Files\Java\jdk1.7.0_25\db\lib
zu den Projekteigenschaften -> Run/Debug Einstellungen -> Klassenpfad -> Benutzereinträge -> Externe JARs hinzufügen und es funktioniert.
Ich steckte mit dem gleichen Problem 'java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver'. In meinem Fall ist scope-Attribut gesetzt
<!-- https://mvnrepository.com/artifact/org.apache.derby/derby -->
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.13.1.1</version>
<scope>test</scope>
</dependency>
Sie müssen testen, den Umfang Element aus der Abhängigkeit entfernen und die Abhängigkeit wie unten zu aktualisieren.
<!-- https://mvnrepository.com/artifact/org.apache.derby/derby -->
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.13.1.1</version>
</dependency>
Sie this post beziehen, komplettes Arbeitsbeispiel zu erhalten.
Danke !! Das würde mich lange brauchen. Vielen Dank :) –
- 1. iReport - java.lang.ClassNotFoundException
- 2. java.lang.ClassNotFoundException: org.hibernate.HibernateException
- 3. java.lang.ClassNotFoundException: org.hibernate.cfg.Configuration
- 4. java.lang.ClassNotFoundException: org.springframework.beans.factory.generic.GenericBeanFactoryAccessor
- 5. java.lang.ClassNotFoundException: com.springhibernatemvc.dao.PersonDAOImpl
- 6. "java.lang.ClassNotFoundException: oracle.jdbc.pooling.Factory"
- 7. java.lang.ClassNotFoundException: org.jboss.logging.Logger
- 8. java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
- 9. java.lang.ClassNotFoundException: bachelor.ActionServlet
- 10. java.lang.ClassNotFoundException: TopologyMain
- 11. java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config
- 12. java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
- 13. java.lang.ClassNotFoundException: HttpServletRequest
- 14. java.lang.ClassNotFoundException: org.hibernate.engine.SessionFactoryImplementor
- 15. java.lang.ClassNotFoundException: javax.ws.rs.MessageProcessingException
- 16. java.lang.ClassNotFoundException: com.mysql.jdbc.Driv5r
- 17. java.lang.ClassNotFoundException: org.slf4j.Logger
- 18. java.lang.ClassNotFoundException: org.apache.spark.sql.Dataset
- 19. java.lang.ClassNotFoundException: net.spy.memcached.compat.log.SLF4JLogger
- 20. java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException
- 21. java.lang.ClassNotFoundException: org.hibernate.bytecode.instrumentation.internal.FieldInterceptionHelper
- 22. java.lang.ClassNotFoundException: org.apache.myfaces.webapp.StartupServletContextListener
- 23. java.lang.ClassNotFoundException: org.hibernate.engine.transaction.spi.TransactionContext
- 24. java.lang.ClassNotFoundException: javax.servlet.http.HttpSessionIdListener
- 25. java.lang.ClassNotFoundException: javafx.application.Application
- 26. java.lang.ClassNotFoundException: com.mongodb.MongoSocketException
- 27. java.lang.ClassNotFoundException: com.fasterxml.jackson.core.JsonProcessingException
- 28. java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
- 29. java.lang.ClassNotFoundException: org.hibernate.ejb.HibernatePersistence
- 30. java.lang.ClassNotFoundException: org.codehaus.jackson.map.JsonSerializableWithType
sauber und bauen Sie das Projekt. –
Fertig schon und nichts passiert. Irgendwelche anderen Ideen? –
Überprüfen Sie mit Strg + Umschalt + T und geben Sie den Klassennamen ein, der fehlt. –