运行MXJ for MySQL的MissingResourceException

时间:2012-03-01 16:57:38

标签: java mysql database jdbc

我正在使用this教程中的代码,使用MXJ在我的java应用程序中“嵌入”MySQL。但是,我在运行代码时遇到了这个异常:

Exception in thread "main" java.util.MissingResourceException: Resource '5-5-9/Windows_7-amd64/mysqld.exe' not found

当我在教程中到达这一行时会发生这种情况:

mysqldResource.start("test-mysqld-thread", database_options);

我在Eclipse中运行,并且我将以下4个jar添加到我的构建路径中,因为this链接说我需要它们:

mysql-connector-java-5.1.18-bin.jar
mysql-connector-mxj-gpl-5-0-12-db-files.jar
mysql-connector-mxj-gpl-5-0-12.jar
aspectjrt-1.6.9.jar

我不确定我在这里缺少什么。有什么提示吗?

3 个答案:

答案 0 :(得分:6)

MXJ尚未准备好与Windows 7 64位一起使用。使用this错误票,我发现了我需要做的事情。

从zip文件下载并提取文件后,取消{j} mysql-connector-mxj-gpl-5-0-12-db-files.jar并在其中添加一行到platform-map.properties文件中:

Windows_7-amd64=Win-x86

保存,然后重新装罐。像魅力一样工作!

答案 1 :(得分:5)

实际上,搞乱jar文件永远不是一个好主意,因为每当你升级到更新的版本时,你都需要记住再次重做这个修复。答案是正确的,但您只需要在里面创建platform-map.properties文件:

Windows_7-amd64=Win-x86

并将其添加到您的类路径中。

答案 2 :(得分:0)

对于在MacOS Catalina上存在相同问题的任何人,您都可以在我的仓库(https://github.com/pengyue/mysql-connector-mxj-mac-os-catalina)中阅读README.md,该仓库具有MacOS Catalina的64位可执行文件,并且此改进的连接器可在Catalina上使用。

要解释我做了什么:

  • 将MySQL的64位可执行文件下载到文件夹5-5-9
  • platform-map.properties中添加64位MacOS的平台映射
  • 使用jar cvf mysql-connector-mxj-db-files-5.0.12.jar .
  • 创建一个jar
  • 用您刚创建的jar替换mvn设置文件夹~/.m2/repository/mysql/mysql-connector-mxj-db-files/5.0.12/中的jar。

此解决方案适用于我的项目,不幸的是,我找不到mysql-connector-mxj的github,因为它已过时且不再可维护。

另一种选择是使用wix-embedded-mysql(https://github.com/wix/wix-embedded-mysql)代替mysql-connector-mxj,但这可能需要在项目中进行一些代码更改。