Schema Spy 无法找到 postgresql 驱动程序

2022-09-04 01:09:37

我想使用模式间谍来生成模式图,

我已经指定了以下命令

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/

我有postgresql驱动程序jar文件与模式间谍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

我认为问题是你没有将类路径添加到驱动程序。您必须像这样添加类路径

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/
如果它不起作用,您可以下载此项目的源代码。在项目中,dbTypes文件夹中有pgsql.properties文件。你可以用你的类路径改变它,我认为这解决了你的问题。

答案 2

我想补充几点。

  1. 您将使用 Schema Spy 和 Graphviz。版本 2.31+ 不会向窗口的系统路径变量添加条目。因此,在下载并安装Graphviz后,更新路径变量以具有路径直到Graphviz的bin目录。(C:\Program Files (x86)\Graphviz2.38\bin)
  2. 下载整个项目源代码以更改属性文件中的类路径的替代方法是使用 7-zip 更新 jar。
  3. 使用7-zip打开jar文件导航到net/sourceforge/schemaspy/dbTypes/右键单击pgsql.properties说编辑。
  4. 更改 driverPath 的以下条目,使其指向 jdbc jar 文件 driverPath=D:/Work/JavaProjects/tools/postgresql-9.3-1100.jdbc4.jar
  5. 单击保存并更新。这应该可以解决问题。

推荐