【问题标题】:MissingResourceException running MXJ for MySQLMissingResourceException 为 MySQL 运行 MXJ
【发布时间】:2012-03-20 04:52:21
【问题描述】:

我正在使用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

我不确定我在这里缺少什么。有什么建议吗?

【问题讨论】:

    标签: java mysql database jdbc


    【解决方案1】:

    MXJ 尚未准备好与 Windows 7 64 位一起使用。使用this bug 票,我找到了我需要做的事情。

    从 zip 中下载并提取文件后,解压缩 mysql-connector-mxj-gpl-5-0-12-db-files.jar 并在其中的 platform-map.properties 文件中添加一行:

    Windows_7-amd64=Win-x86
    

    保存并重新 jar。像魅力一样工作!

    【讨论】:

      【解决方案2】:

      实际上,弄乱 jar 文件绝不是一个好主意,因为每当您升级到较新的版本时,您都需要记住再次重做此修复。答案是正确的,但您只需要在其中创建 platform-map.properties 文件:

      Windows_7-amd64=Win-x86
      

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

      【讨论】:

      • 什么读取那个 platform-map.properties 文件?记录在哪里?
      【解决方案3】:

      对于在 MacOS Catalina 上遇到相同问题的任何人,您可以关注我的 repo (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
      • 将 mvn 设置文件夹 ~/.m2/repository/mysql/mysql-connector-mxj-db-files/5.0.12/ 中的 jar 替换为您刚刚创建的 jar。

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

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

      【讨论】:

      • 欢迎来到社区。如果您向我们展示一些解决方案,那就太好了。
      • 欢迎新用户。与其链接到解决方案,通常最好在答案中包含您链接到的页面上的信息。一个好的经验法则是,即使您链接到的页面在几年后发生变化或消失,您的帖子仍应回答问题。
      • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
      • @PetarTonev 我已经解释了如何用我的答案中的要点来解决它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-25
      • 2012-09-11
      • 1970-01-01
      • 2014-05-27
      • 1970-01-01
      • 1970-01-01
      • 2014-05-30
      相关资源
      最近更新 更多