1

このチュートリアルに従って、データベースとやり取りするプログラムを作成しています。私はそれを実行する最後のステップで立ち往生しています。与えられた例は C:\test>java -cp c:\test\postgresql-8.3-603.jdbc4.jar;c:\test JDBCExample

ホーム ディレクトリに JDBC の .class ファイルと .jar の両方があります。私は試した

java -cp /home/JohnF/postgresql-9.2-1000.jdbc4.jar;/home/JohnF/QueryDB.class 「バイナリファイルを実行できません」
java -cp /home/JohnF/postgresql-9.2-1000.jdbc4.jar;/home/JohnF/QueryDB 表示され、「そのようなファイルまたはディレクトリはありません」と表示され、「
JohnF java -cp /home/JohnF/postgresql-9.2-1000.jdbc4.jar;/home/JohnF QueryDB はディレクトリです」と表示されます

以前chmodはファイルのアクセス許可を に設定していました777。これを実行するにはどうすればよいですか?

4

2 に答える 2

4

クラスパス区切り文字としてセミコロンを使用しています。これはLinuxでは機能しません。「;」を置き換えてみてください クラスパスに「:」を含めると、機能するはずです。

編集:ここで何が起こっているかの説明。Linuxでは、「;」コマンドセパレータです。あなたのライン

java -cp /home/JohnF/postgresql-9.2-1000.jdbc4.jar;/home/JohnF QueryDB

実際には、1つずつ実行される2つに拡張されます。

java -cp /home/JohnF/postgresql-9.2-1000.jdbc4.jar
/home/JohnF QueryDB

最初のものは何もせず、正常に終了します。2番目は実行可能ファイルとして呼び出そうとし/home/JohnFますが、これは実際には実行可能ファイルではなく、ディレクトリです。

于 2012-10-29T03:52:33.640 に答える
1

修正: ;の代わりに : を使用

なぜ?*nix 環境のファイル区切り文字は ' : ' であり、' ;ではありません。'

于 2012-10-29T04:17:29.933 に答える