Схема Spy не может найти драйвер postgresql

Я хочу использовать Schema Spy для создания схем,

Я указал следующую команду

java -jar schemaSpy_5.0.0.jar -t pgsql -host 10.100.71.21[:5432] -db mydb -s public -u username -p password -dp postgresql-8.0-312.jdbc3.jar -o output/

У меня есть файл jar драйвера postgresql в том же каталоге, что и файл jar схемы шпиона. Но это дает следующую ошибку

[schemaSpy_5.0.0.jar]/net/sourceforge/schemaspy/dbTypes/pgsql.properties
java.lang.ClassNotFoundException: org.postgresql.Driver

Failed to load driver 'org.postgresql.Driver'from: [file:/home/panx/postgresql-8.0- 312.jdbc3.jar]
This entry doesn't point to a valid file/directory: [/whereever/postgresql-8.0-312.jdbc3.jar]

Use the -dp option to specify the location of the database
 drivers for your database (usually in a .jar or .zip/.Z).

Любая помощь будет оценена.

Спасибо,

Панкай

2 ответа

Решение

Я думаю, проблема в том, что вы не добавили classpath к драйверу. Вы должны добавить свой путь к классу, как это

java -jar schemaSpy_5.0.0.jar -t pgsql -host 10.100.71.21[:5432] -db mydb -s public -u username -p password -dp /home/panx/postgresql-8.0-312.jdbc3.jar -o output/
Если это не работает, вы можете скачать исходный код этого проекта. В проекте есть файл pgsql.properties в папке dbTypes. Вы можете изменить это с помощью вашего classpath, и я думаю, что это решит вашу проблему.

Сначала вам нужно скачать драйвер здесь.
Затем запустите, указав путь к драйверу, например, для Windows

java -jar schemaSpy.jar  -t pgsql -host localhost:5432 -db _dbname_ -s _schena_name_ -u postgres -p  -o D:\RVA\postgreSQL\  -dp "D:\Program Files (x86)\PostgreSQL\pgJDBC\postgresql-42.2.5.jar"

Я хотел бы добавить несколько моментов.

  1. Вы будете использовать Schema Spy с GraphViz. Версии 2.31+ не добавляют запись в системную переменную пути Windows. Поэтому после загрузки и установки GraphWiz обновите переменную path, чтобы иметь путь до каталога bin в Graphviz. (C:\Program Files (x86)\Graphviz2.38\bin)
  2. Альтернативой загрузке всего исходного проекта для изменения пути к классам в файле свойств было бы обновить jar с помощью 7-zip.
  3. Откройте файл jar, используя 7-zip, перейдите к net/sourceforge/schemaspy/dbTypes/ правой кнопкой мыши pgsql.properties, скажем, edit.
  4. Измените следующую запись для driverPath, чтобы она указывала на файл jar jdbcdriverPath=D:/Work/JavaProjects/tools/postgresql-9.3-1100.jdbc4.jar
  5. Нажмите на сохранить и обновить. Это должно сделать свое дело.
Другие вопросы по тегам