0

データベース内のメンバーを管理するための簡単なアプリケーションを作成しました。このプログラムは、サーバー モードで HSQLDB を実行しています。すべてはプログラム コード内から開始されました。プログラムはインストーラー経由で配布され、もちろんユーザーはどこにインストールするかを選択できます。私の win7 ノートブックでは、アプリをどこにインストールしても問題ありません。それは魅力のように機能します。ただし、別のコンピューターでは、プログラム ファイル フォルダー以外のインストールのみが機能します。プログラム ファイル内では、Java が hsqldb.jar を見つけられないようです。hsqldb.jar のファイルパス全体を PATH に追加しても機能せず、さらに別のコンピューターではすべて正常に機能します。何か案は?(すべて win7)

含まれている runserver.bat を介してサーバーを手動で起動することさえできないことに注意してください。

4

1 に答える 1

0

あなたが直面している問題は、UAC の変更を扱っています。

管理者がロードされ、UAC を低く設定することでこれらを克服できますが、これは理想的な解決策ではありません。(どのユーザーの下で Java がインストールされ、インストールされたアプリケーションも別々に再生されます)。

より良い解決策は、データベースをユーザーが受け入れられる場所に配置することです。

Systemプロパティuser.dir(つまりSystem.getProperty("user.dir");) をベースの場所として使用することをお勧めします。ここから、アプリケーションにちなんでAppData\Roaming名付けられたディレクトリを作成し、アプリケーション固有のデータをこの場所に書き込むことができます。

これにより、特定のユーザーが書き込み可能な場所にデータベースが配置されます。

(ps - を使用する必要はありません。ローミング プロファイルを使用している場合に設定をユーザーに従わせたくない場合は、代わりにAppData\Roaming使用できます...または気にしません;))AppData\Local

于 2013-07-17T23:01:46.660 に答える