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+ は、Windows のシステム パス変数にエントリを追加しません。そのため、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 に答える