Firebird和JVM的不同版本



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

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

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

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

简短的回答是:不,你不能。

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

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新