gpt4 book ai didi

java.lang.NoClassDefFoundError : com/mongodb/XXXXXX Can't fix it!(使用: MongoDB Java Driver, Spigot)

转载 作者:行者123 更新时间:2023-12-01 09:47:47 26 4
gpt4 key购买 nike

我正在用 Java 为 Spigot/Bukkit (Minecraft) 编写一个插件,但我一直不知道如何解决这个问题。虽然我用其他语言做过很多编程,但这是我第一次尝试用java编程。我已经进行了很多谷歌搜索,查看了数十页,但所有内容都只是说要做我已经尝试过的事情。

我正在使用 eclipse 并已将我的项目与 Maven 项目相互转换,尝试安装 mongo java 驱动程序的各种变体。我尝试过:
- 添加依赖项
- 使用项目 ->属性 -> Java构建路径 ->添加外部Jar将其添加到构建路径
- 我已经完成了上述两者的组合
- 我尝试过一起使用 mongodb-driver、mongodb-driver-core 和 bson,以及 mongodb-java-driver(它应该可以单独工作。)
- 我尝试过仅使用 mongodb-java-driver
- 我尝试过使用许多不同版本的驱动程序。

无论我做什么,当我将插件导出到 jar 并尝试在我的 spigot 服务器上运行它时,我都会收到以下错误:

java.lang.NoClassDefFoundError: com/mongodb/MongoClientURI

其中 MongoClientURI 可以替换为我在代码中使用的任何 mongo 类。我是否没有正确使用驱动程序,是否遗漏了什么?这是怎么回事?

最佳答案

所以我最终解决了我自己的问题。事实证明,spigot 在执行时无法识别除 spigot 插件之外的任何 jar 文件。阴影本来可以解决我的问题,但我这样做了,这也有效:

  1. 在我的项目目录中创建了一个名为 MANIFEST.MF 的文件。
  2. 将以下内容添加到文件中:

    list 版本:1.0
    类路径:libs/mongo-java-driver-3.2.2.jar
    创建者:1.7.0_06(Oracle 公司)

  3. 在导出插件的最后一步中选择了“使用工作区中的现有 list ”。

这意味着运行时 spigot 将在其库中包含 {plugin location}/libs/mongo-java-driver-3.2.2.jar。

我在这里找到了解决方案: https://www.spigotmc.org/threads/solved-mongodb-help.35922/

关于java.lang.NoClassDefFoundError : com/mongodb/XXXXXX Can't fix it!(使用: MongoDB Java Driver, Spigot),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37849127/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com