2013-09-02 3 views
0

В настоящее время я работаю над проектом Swing, который использует hsqldb 2.3 в качестве дополнительной базы данных ... Этот проект имеет карту, а geotools также использует hsqldb, однако использует hsqldb 1.8. Я пытался поставить их обоих, работающих вместе, но я получаю это исключение:geotools 10 RC1 + hsqldb 2.3

«Вызванный: java.lang.ClassNotFoundException: org.hsqldb.jdbc.jdbcDataSource»

Я проверил исходный код, и Я верю, что причина этого в том, что на 2.3 слово «jdbc» находится в верхнем регистре: «org.hsqldb.jdbc.JDBCDataSource»

Я не знаю, что делать дальше. Если я добавлю обе банки, я получу ошибку конфликта классов. Любое предложение приветствуется ....

ответ

0

Похоже, что есть и другие зависимости от hsqldb 1.8. Вы можете начать с изменения GeoTools и изменения ссылок на новый класс. Операторы SQL в сценариях GeoTools обычно совместимы, но некоторые из них могут потребовать обновления. Вы узнаете, получится ли ошибка при запуске скриптов.

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

Примечание есть некоторое использование CREATE ALIAS в исходном коде, которые могут быть избыточными и могут быть удалены.

См. Каталог ресурсов в том же исходном дереве для SQL.

+0

Я ценю ответ, но это создаст какое-то сложное решение. Я решил использовать H2 в качестве встроенной базы данных. Работал хорошо, и мне не нужно ничего менять в рамках. Плюс Я познакомился с H2, который является действительно мощным инструментом в качестве простоты, которую он предлагает. – Shoyo