错误描述
MySQL Connector/MXJ用于使用JUnit测试的时候作为嵌入式的MySQL数据库使用,这样可以测试MySQL的特性,非常方便。但该项目已经在2012年的时候被官方停用了,最后一个版本是5.0.12,但在最新的Mac OS下启动的时候会出现下面的错误:
这是因为MySQL Connector/MX最后一个版本只提供了32位的程序,并没有提供64位的程序,而最新的Mac OS已经不再允许运行32位的程序了,因此需要手动修改使其增加64位的程序。
添加64位的Mac OS平台MySQL可执行文件
直接下载修改好的jar包
如果不想了解具体的过程,可以直接下载我已经做好的mysql-connector-mxj-db-files-5.0.12.jar包,然后使用mvn命令进行安装替换即可。
制作过程
所有的可执行程序都放在了mysql-connector-mxj-db-files-5.0.12.jar
这个包里面,首先将jar包解压缩,可以看出里面MySQL的版本是5.5.9,在5-5-9目录下创建一个名为Mac_OS_X-x86_64
的新的目录。然后到MySQL官方下载5.5.9 64位的压缩包:
下载解压之后,将bin目录下的mysql
和mysqld
两个文件复制到前面创建的Mac_OS_X-x86_64
目录下。然后再此目录下创建一个新的version.txt
文件,内容如下:
mysql-5.5.9-osx10.5-x86_64/bin/mysqld
接下来回到解压jar包的根目录下,打开platform-map.properties
文件,可以看到这个文件里面定义了平台和可执行文件的映射关系,将原来的Mac_OS_X-x86_64=Mac_OS_X-i386
修改为:Mac_OS_X-x86_64=Mac_OS_X-x86_64
。
最后重新使用jar命令将新目录进行打包:
jar -cf ../mysql-connector-mxj-db-files-5.0.12.jar *
重新发布到Maven服务器
可以使用mvn install命令将新的jar包重新安装到本地,pom文件可以使用原来的,命令如下:
mvn install:install-file -Dfile=mysql-connector-mxj-db-files-5.0.12.jar -DpomFile=mysql-connector-mxj-db-files-5.0.12.pom
如果有Maven的私库服务器的话,也可以直接上传发布到服务器上。
参考资料:
Embedded MySQL in Java With Connector/MXJ and 64-bit Linux