Java Firebird和不同版本的JVM

Java Firebird和不同版本的JVM,java,firebird,jaybird,Java,Firebird,Jaybird,我正在尝试使用Firebird嵌入式服务器创建一个Java应用程序 问题是: 我希望应用程序同时运行Java 32位和Java 64位(无需客户端进行任何修改) 要运行Firebird,我必须将jaybird22.dll和jaybird22_x64.dll添加到应用程序主目录中-到目前为止还可以,但在此目录中还应该: ib_util.dll icudt30.dll 等 对于不同版本的JVM,它们是不同的 这个问题有什么解决办法吗?简单的回答是:没有,你不能 您需要在应用程序的根目录中包含Fire

我正在尝试使用Firebird嵌入式服务器创建一个Java应用程序

问题是: 我希望应用程序同时运行Java 32位和Java 64位(无需客户端进行任何修改)

要运行Firebird,我必须将jaybird22.dll和jaybird22_x64.dll添加到应用程序主目录中-到目前为止还可以,但在此目录中还应该: ib_util.dll icudt30.dll 等 对于不同版本的JVM,它们是不同的


这个问题有什么解决办法吗?

简单的回答是:没有,你不能

您需要在应用程序的根目录中包含Firebird的正确位文件,并且由于Firebird embedded的32位和64位版本的库具有相同的名称,因此不可能同时包含这两个库

UPDATE让我感到羞耻的是(作为Jaybird;的开发人员),我刚刚发现实际上可以在一个文件夹结构中同时使用32位和64位版本的,但这要求您能够在运行Java应用程序之前设置
PATH
环境变量(例如通过
.bat
.cmd
或启动器)

如果将文件放在两个文件夹中,例如
64位
32位
,您应该能够在应用程序的根目录中使用批处理文件(我在这里假设
jaybird22.dll
jaybird22_x64.dll
也在这些文件夹中):

仅供参考
%CD%
表示当前目录

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