【问题标题】:Java JAR does not contain correct dependenciesJava JAR 不包含正确的依赖项
【发布时间】:2012-05-29 20:54:15
【问题描述】:

我正在尝试为我的 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?

【问题讨论】:

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

标签: java mongodb jar leiningen mongodb-java


【解决方案1】:

原来是打包应用的问题!

【讨论】:

    猜你喜欢
    • 2012-09-21
    • 2010-10-27
    • 2014-06-08
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多