Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 架构间谍找不到postgresql驱动程序_Java_Postgresql_Jar_Driver_Schemaspy - Fatal编程技术网

Java 架构间谍找不到postgresql驱动程序

Java 架构间谍找不到postgresql驱动程序,java,postgresql,jar,driver,schemaspy,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

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

我认为问题在于您没有将类路径添加到驱动程序中。你必须像这样添加你的类路径
java-jarschemaspy_5.0.0.jar-tpgsql-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文件。您可以使用类路径更改它,我认为这解决了您的问题。

我想补充几点

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/
  • 您将在Graphviz中使用Schema Spy。版本2.31+不向窗口的系统路径变量添加条目。 因此,在下载并安装Graphviz之后,请更新path变量,使其具有path till Graphviz的bin目录。 (C:\ProgramFiles(x86)\Graphviz2.38\bin)
  • 除了下载整个项目源代码以更改属性文件中的类路径之外,还可以使用7-zip更新jar
  • 使用7-zip打开jar文件,导航到net/sourceforge/schemaspy/dbTypes/ 右键单击pgsql.properties,然后单击edit
  • 更改driverPath的以下条目,使其指向jdbc jar文件 driverPath=D:/Work/JavaProjects/tools/postgresql-9.3-1100.jdbc4.jar
  • 单击保存和更新。这应该能奏效

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

    是否有任何配置文件包含以下行/wherever/postgresql-8.0-312.jdbc3.jar。也许这是您必须编辑的内容。@mbaydar-dp配置用于指定驱动程序文件的路径,这就是我正在做的。您可以添加配置文件吗?配置文件实际上嵌入在SchemaSpy.jar中。我不能修改它,我可以通过使用“-dp”选项覆盖它。请不要使用过时的驱动程序。使用当前驱动程序(9.0或9.1)。如果你的驱动程序确实与你的PostgreSQL版本相匹配,你应该立即更新到受支持的当前版本。下载源代码是我唯一的选择。它起作用了:)我不知道在我的计算机上哪里可以找到jdbc3驱动程序路径,所以我从这个页面下载了它:它起作用了。你能在可执行语句周围添加反勾号吗?它使注释更可读,更容易执行命令。