当我从intelliJ Idea执行我的代码时,它工作得很好,但是当我在我的服务器上运行jar时,它抛出了下面的错误。我使用的是'org.mongodb:mongodb-driver:3.4.1‘版本。
Exception in thread "main" java.lang.NoClassDefFoundError: org/bson/conversions/Bson
at com.myapp.server.mongo.MongoDbHandler.prepareMongoDb(MongoDbHandler.java:68)
at com.myapp.server.mongo.MongoDbHandler.<init>(MongoDbHandler.java:22)
at com.myapp.server.Client.main(Client.java:167)
Caused by: java.lang.ClassNotFoundException: org.bson.conversions.Bson
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 3 more发布于 2017-09-17 07:26:41
我知道这是一个老帖子,它只适用于那些有类似问题的人。几天前,当我通过命令line.After运行jar时,我也遇到了同样的问题,同样的错误跟踪,重新检查代码,发现
这不是jar版本的问题,而是jar的打包问题
将所有适当的依赖项打包到jar之后,就可以解决这个问题。
我用过
maven-汇编-插件
包装和它的作品。
。
发布于 2016-12-01 22:16:25
如果让我猜你需要得到你正在使用的BSON库,我不会说Mongo是你的问题。
这里的关键一行是:“原因: java.lang.ClassNotFoundException: org.bson.conversions.Bson”
所以它说它没有找到那个特定的类,我会在IntelliJ中查找,看看它是什么BSON库,然后把它放到你的服务器上的构建目录(或java lib)中。
https://stackoverflow.com/questions/40912639
复制相似问题