1

Firebird 組み込みサーバーを使用して Java アプリケーションを作成しようとしています。

問題は、アプリケーションを Java 32 ビットと Java 64 ビットの両方で (クライアントによる変更なしで) 実行することです。

Firebird を実行するには、アプリのメイン ディレクトリに jaybird22.dll と jaybird22_x64.dll を追加する必要があります。これまでのところは問題ありませんが、このディレクトリには、ib_util.dll icudt30.dll なども含まれている必要があります。これらは、JVM のバージョンによって異なります。

この問題の解決策はありますか?

4

1 に答える 1

0

短い答えは次のとおりです。いいえ、できません。

アプリケーションのルートに埋め込まれた Firebird の正しいビットネス ファイルを含める必要があります。32 ビット バージョンと 64 ビット バージョンの Firebird 埋め込みのライブラリは同じ名前であるため、両方を含めることはできません。

更新残念なことに (Jaybird の開発者として ;)、1 つのフォルダー構造に埋め込まれた 32 ビット バージョンと 64 ビット バージョンの両方を実際に操作できることがわかりましたが、これにはPATH環境変数Java アプリケーションを実行する前に (たとえば.bat.cmdまたはランチャーを使用して)。

ファイルを と などの 2 つのフォルダーに配置する64bit32bit、アプリケーションのルートでバッチ ファイルを使用できるはずです (ここではjaybird22.dll、 とjaybird22_x64.dllもこれらのフォルダーにあると想定しています)。

@echo off
set PATH=%PATH%;%CD%\64bit;%CD%\32bit
java -cp .;jaybird-full-2.2.3.jar your.package.MainClass

FYI%CD%は現在のディレクトリを意味します。

于 2013-06-26T11:46:08.960 に答える