Schema 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 драйвера в том же каталоге, что и файл схемы spy 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).
Любая помощь будет оценена.
Спасибо,
Панкай
Ответы
Ответ 1
Я думаю, проблема в том, что вы не добавили 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/
If it does not work you can download the source code of this project. In the project there is pgsql.properties file in dbTypes folder. You can change it with your classpath and I think this solves your problem.
Ответ 2
Я хотел бы добавить несколько моментов.
- Вы бы использовали Schema Spy с GraphViz. Версии 2.31+ не добавляют запись в переменную пути к System System.
Поэтому после того, как вы загрузите и установите GraphWiz, обновите переменную пути, чтобы иметь путь до директории bin Graphviz.
(C:\Program Files (x86)\Graphviz2.38\bin)
- Альтернативой загрузке всего источника проекта для изменения пути к классам в файле свойств будет обновление флага с помощью 7-zip.
- Откройте файл jar с помощью 7-zip, перейдите к net/sourceforge/schemaspy/dbTypes/
щелкните правой кнопкой мыши pgsql.properties, скажем, отредактируйте.
- Измените следующую запись для драйвераPath, чтобы она указывала на jarb jar файл
driverPath = D:/Work/JavaProjects/tools/postgresql-9.3-1100.jdbc4.jar
- Нажмите на сохранение и обновление. Это должно сделать трюк.
Ответ 3
Сначала вам необходимо скачать актуальный драйвер здесь.
Затем запустите с установленным путем к драйверу, например, для 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"