我正在尝试创建我的 java 项目的 uberjar,其中包含包的依赖mongodb-java-driver
项。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
...
显然,以前版本的 leiningen 在运行时删除 .class 文件时存在问题,我相信我没有使用受此问题影响的版本。
如何创建包含 com.mongodb.* 依赖项的 uberjar?