2013-09-02 1 views
0

Je travaille actuellement sur un projet Swing qui utilise hsqldb 2.3 comme base de données optionnelle ... Ce projet a une carte, et geotools utilise aussi hsqldb, mais il utilise hsqldb 1.8. J'ai essayé de les mettre à la fois travailler ensemble mais je reçois cette exception:geotools 10 RC1 + hsqldb 2.3

"Causée par: java.lang.ClassNotFoundException: org.hsqldb.jdbc.jdbcDataSource"

J'ai vérifié le code source, et Je crois que la raison pour laquelle cela arrive est parce que sur 2.3 le mot "jdbc" est en majuscule: "org.hsqldb.jdbc.JDBCDataSource"

Je ne sais pas quoi faire à partir d'ici. Si j'ajoute les deux jars, j'obtiendrai une erreur de conflit de classe. Toute suggestion est la bienvenue ....

Répondre

0

Il semble qu'il existe également d'autres dépendances sur hsqldb 1.8. Vous pouvez commencer en modifiant GeoTools et en changeant les références à la nouvelle classe. Les instructions SQL dans les scripts GeoTools sont généralement compatibles mais certaines utilisations peuvent nécessiter une mise à jour. Vous découvrirez si vous obtenez une erreur lors de l'exécution des scripts.

https://github.com/geotools/geotools/tree/master/modules/plugin/epsg-hsql/src/main/java/org/geotools/referencing/factory/epsg

Remarque il y a une certaine utilisation de CREATE ALIAS dans le code source qui peut être redondant et peut être retiré.

Voir le répertoire des ressources dans le même arbre source pour le SQL.

+0

J'apprécie la réponse, mais cela générerait une solution compliquée. J'ai décidé d'utiliser H2 comme base de données intégrée. J'ai bien travaillé et je n'ai pas besoin de changer quoi que ce soit dans un cadre. En plus, j'ai appris à connaître H2, un outil vraiment puissant comme la simplicité qu'il offre. – Shoyo