org.hsqldb.jdbcDriver ClassNotFoundException lors de l'exécution de test junit pour une méthode
Je suis en utilisant une méthode qui m'a fait une source de données. La méthode est comme ci-dessous:
public static DataSource getDataSource(){
String url;
//url="jdbc:hsqldb:file:"+filePath;
url = "jdbc:hsqldb:file:D:/EclipseWorskpace/ew-pg/lmexadapter/hsqldb-example/src/main/webapp/WEB-INF/data/db/hsqldb.jar";
BasicDataSource basicDataSource = new BasicDataSource();
basicDataSource.setUsername("SA");
basicDataSource.setPassword("password");
basicDataSource.setDriverClassName("org.hsqldb.jdbc.JDBCDriver");
basicDataSource.setUrl(url);
System.out.println("$$$$$$$$ URL is : " + url);
return basicDataSource;
}
Et je suis de l'appel à cette méthode de dao. et avec tout cela, je suis en utilisant ibatis pour mon OU la cartographie. Quand je lance mon cas de test par test junit c'est de me donner une exception:
" org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'org.hsqldb.jdbcDriver'
at org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1259)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1192)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:884)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
at org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy$TransactionAwareInvocationHandler.invoke(TransactionAwareDataSourceProxy.java:213)
... 35 more
Caused by: java.lang.ClassNotFoundException: org.hsqldb.jdbcDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1253)
... 39 more
"
supprimé inutile stacktrace
Je préfère les voir post trop stacktrace que trop peu.
Je préfère les voir post trop stacktrace que trop peu.
OriginalL'auteur |
Vous devez vous connecter pour publier un commentaire.
En téléchargeant et en ajoutant HSQLDB jar dans le chemin de classe de ici
pourquoi ??, aucune autre solution n'existe pas
puisque c'est la seule solution correcte, vous êtes hors de la chance.
salut, je ne peux pas ajouter le jar dans mon classpath, si vous avez une autre suggestion à l'exception de ce plz me dire que j'avais essayé d'ajouter le jar dans mon serveur tomcat lib, mais il n'est pas d'obtenir à partir de là aussi
i had tried adding jar in my tomcat server lib,
&&hi i can't add jar in my classpath,
retournera false. il devrait fonctionner. nouvelle tentative de mettre le pot danscommon\lib
OriginalL'auteur Jigar Joshi
Les réponses précédentes ici ont droit, et le mal.
La HSQLDB pot besoins ajouté au classpath. Le problème est dans les réponses précédentes, l'interlocuteur était pointé sur les anciennes versions du projet qui n'a pas la classe qu'ils cherchaient. La classe qui n'a pas été trouvé seulement dans la version 2 de HSQLDB, disponible à partir de http://sourceforge.net/projects/hsqldb/files/hsqldb/hsqldb_2_3/
OriginalL'auteur
Si vous avez déjà téléchargé le HSQLDB fichier jar et correctement installé, alors je voudrais vérifier le classpath.
Plus que probablement vous devriez ajouter à votre build path. Je suis en supposant que vous utilisez Eclipse, puis faites un clic droit sur votre projet, cliquez sur propriétés, puis l'ajouter à votre build path. Où avez-vous mis votre fichier jar? et comment? Vous pouvez faire glisser et déposer le fichier dans un répertoire lib de votre projet.
OriginalL'auteur Luixv