我正在尝试创建我的java项目的uberjar,其中mongodb-java-driver
找到here的依赖项包含com.mongodb.*
个包。
目前我尝试使用leiningen版本2.0.0-preview4
和1.7.1
以及mongodb-java-driver版本2.7.3
。我的project.clj依赖项如下所示:
:dependencies [[org.clojure/clojure "1.2.0"]
[org.clojure/clojure-contrib "1.2.0"]
[org.mongodb/mongo-java-driver "2.7.3"]
[org.apache.commons/commons-math3 "3.0"]
]
运行命令lein clean && lein uberjar
时,我看到以下输出:
...
Including mongo-java-driver-2.7.3.jar
...
执行uberjar后,我收到以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: com/mongodb/DBObject
at org.ianalexan.Topology.main(Topology.java:69)
Caused by: java.lang.ClassNotFoundException: com.mongodb.DBObject
...
显然,previous versions of leiningen had a problem with deleting .class files at runtime,我相信我没有使用受此问题影响的版本。
如何创建包含com.mongodb。*依赖项的uberjar?
答案 0 :(得分:0)
原来是包装应用程序的问题!