![](/img/trans.png)
[英]java.lang.NoClassDefFoundError when using MongoDB driver
[英]java.lang.NoClassDefFoundError: com/mongodb/XXXXXX Can't fix it! (Using: MongoDB Java Driver, Spigot)
我正在用Java为Spigot / Bukkit(Minecraft)写一个插件,却想不通如何解决这个问题。 尽管我已经用其他语言进行了大量编程,但这是我第一次尝试用Java编程。 我已经做了很多Google搜索,看了几十页,但所有内容都只是说做我已经尝试过的事情。
我正在使用eclipse,并已将我的项目与maven项目进行了转换,并尝试了安装mongo java驱动程序的各种变化。 我试过了:
-添加依赖性
-使用project-> properties-> Java Build Path-> Add External Jar将其添加到buildpath
-我同时完成了上述两项操作
-我尝试过将mongodb-driver,mongodb-driver-core和bson一起使用,并与mongodb-java-driver(应单独使用)一起使用。
-我尝试过仅使用mongodb-java-driver
-我尝试使用许多不同版本的驱动程序。
我做什么都没关系,当我将插件导出到jar并尝试在spigot服务器上运行它时,出现以下错误:
java.lang.NoClassDefFoundError: com/mongodb/MongoClientURI
我的代码中可以使用任何mongo类替换MongoClientURI的地方。 我是否没有正确使用驱动程序,是否缺少某些东西? 这是怎么回事?
所以我最终解决了自己的问题。 事实证明,在执行时,除了spigot插件,spigot不能识别任何jar文件。 阴影可以解决我的问题,但是我做到了,这也可以:
在文件中添加了以下内容:
清单版本:1.0
类路径:libs / mongo-java-driver-3.2.2.jar
创建时间:1.7.0_06(Oracle公司)
在导出插件的最后一步中,选择了“使用工作空间中的现有清单”。
这意味着在运行时,子程序将在其库中包含{plugin location} /libs/mongo-java-driver-3.2.2.jar。
我在这里找到了解决方案: https : //www.spigotmc.org/threads/solved-mongodb-help.35922/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.