Java JAR不包含正确的依赖项

时间:2012-05-29 20:54:16

标签: java mongodb jar leiningen mongodb-java

我正在尝试创建我的java项目的uberjar,其中mongodb-java-driver找到here的依赖项包含com.mongodb.*个包。

目前我尝试使用leiningen版本2.0.0-preview41.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?

1 个答案:

答案 0 :(得分:0)

原来是包装应用程序的问题!