14

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

任何帮助,将不胜感激。

谢谢,

潘卡伊

4

3 回答 3

19

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

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

于 2012-04-06T04:42:52.697 回答
3

我想补充几点。

  1. 您将在 Graphviz 中使用 Schema Spy。版本 2.31+ 不会向 Window 的系统路径变量添加条目。因此,在您下载并安装 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. 点击保存并更新。这应该可以解决问题。
于 2014-05-11T19:20:41.660 回答
2

首先你需要在这里下载实际的驱动程序。
然后使用设置的驱动程序路径运行,例如 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"
于 2019-06-18T13:34:07.317 回答