Java 架构间谍找不到postgresql驱动程序
我想使用Schema Spy生成模式图 我指定了以下命令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
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驱动程序路径,所以我从这个页面下载了它:它起作用了。你能在可执行语句周围添加反勾号吗?它使注释更可读,更容易执行命令。