Java Firebird和不同版本的JVM
我正在尝试使用Firebird嵌入式服务器创建一个Java应用程序 问题是: 我希望应用程序同时运行Java 32位和Java 64位(无需客户端进行任何修改) 要运行Firebird,我必须将jaybird22.dll和jaybird22_x64.dll添加到应用程序主目录中-到目前为止还可以,但在此目录中还应该: ib_util.dll icudt30.dll 等 对于不同版本的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的正确位文件,并且由于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