【问题标题】:Schema Spy unable to find postgresql driverSchema Spy 找不到 postgresql 驱动程序
【发布时间】:2012-04-05 13:21:48
【问题描述】:

我想使用 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 文件与模式间谍 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).

任何帮助将不胜感激。

谢谢,

潘卡杰

【问题讨论】:

  • 是否有任何配置文件包含此行 /whereever/postgresql-8.0-312.jdbc3.jar 。也许这是您必须编辑的内容。
  • @mbaydar -dp 配置用于指定驱动程序文件的路径,这就是我正在做的事情
  • 你能添加你的配置文件吗?
  • 配置文件其实是嵌入在SchemaSpy.jar中的。我无法修改它,我可以使用“-dp”选项覆盖它。
  • 请不要不要使用那个过时和过时的驱动程序。使用当前的驱动程序(9.0 或 9.1)。如果您的驱动程序实际上与您的 PostgreSQL 版本匹配,您应该立即更新到受支持的当前版本。

标签: java postgresql jar driver schemaspy


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

【讨论】:

  • 下载源代码是我唯一的选择。它奏效了:)
  • 我不知道在哪里可以找到我电脑上的 jdbc3 驱动程序路径,所以我从这个页面下载了它:jdbc.postgresql.org/download.html,它成功了。
【解决方案2】:

我想补充几点。

  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. 点击保存并更新。这应该可以解决问题。

【讨论】:

    【解决方案3】:

    首先你需要下载真正的驱动程序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"
    

    【讨论】:

    • 能否在可执行语句周围添加反引号,这样可以使注释更易读,更容易执行命令。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    • 2017-02-20
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多