0

SQLite データベースを使用する Java で作成されたアプリケーションがあります。これは、プロジェクトの bin フォルダーと src フォルダーの両方に保存されます。(Eclipse から) JAR をエクスポートすると、正常に動作します。アプリケーションは JAR 内のデータベースにアクセスできます。connectionString に使用するコードは次のとおりです。

public static String connectionString = "jdbc:sqlite::resource:MAIN_DATABASE.sqlite";

私の問題は、エクスポート後に JAR を別のフォルダーに移動するときです。JARのエクスポート時に元のデータベースにリセットされます。そのため、アプリケーションが行ったデータベースへの変更はすべて失われます。元のパスに戻すと、変更が再び表示されます。

そのため、JAR のどこかに「ハードコードされた」パスがあるようです。これがどこでどのように起こっているか知っている人はいますか。JAR を配置した新しい場所ごとに新しいデータベースを作成しているようなものです。

あなたの答えを助けるために、私がさらに詳細を提供できるかどうか私に知らせてください. 私の問題を正しく説明していない場合は申し訳ありません。私はこのサイトと Java プログラミングの両方に不慣れです。:)

どうもありがとう

4

1 に答える 1

0

問題が分類されました。それは、Eclipse から JAR をエクスポートする方法に関係していました。「必要なライブラリを生成されたJARに抽出する」の代わりに「必要なライブラリを生成されたJARにパッケージ化する」を選択すると、JARを自由に移動でき、データベースはそのまま残ります。

いずれにせよ、私のアプリケーションの最終リリースでは、データベースを JAR に含めないようにします。データベースが外部にある場合、アプリケーションへのアクセス、バックアップ、および更新は簡単です。

于 2013-06-15T13:25:42.717 に答える