2012-05-29 100 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

原來是包裝應用程序的問題!