2012-05-29 51 views
0

我试图创建一个uberjar的我的java项目的依赖关系为mongodb-java-driver发现here其中包括com.mongodb.*包。Java JAR不包含正确的依赖关系

目前我已尝试使用leiningen版本2.0.0-preview41.7.1和mongodb-java驱动程序版本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

我也试图创建一个maven2'm2-pom.xml'文件并使用maven,但我观察到了相同的结果。 – Ian

回答

0

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