【发布时间】:2012-05-29 20:54:15
【问题描述】:
我正在尝试为我的 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?
【问题讨论】:
-
我也尝试创建一个 maven2
m2-pom.xml文件并使用 maven,但我观察到相同的结果。
标签: java mongodb jar leiningen mongodb-java