Schema Spy无法找到postgresql驱动程序

时间:2012-04-05 13:21:48

标签: java postgresql jar driver schemaspy

我想使用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/

我将postgresql驱动程序jar文件与schema 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).

任何帮助都将不胜感激。

谢谢,

的Pankaj

3 个答案:

答案 0 :(得分:18)

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

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文件。您可以使用类路径更改它,我认为这可以解决您的问题。

答案 1 :(得分:3)

我想补充一点。

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

答案 2 :(得分:0)

首先,您需要下载实际的驱动程序Here
然后以驱动程序的设置路径运行 例如,对于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"