clojure中依赖项的消歧

clojure中依赖项的消歧,clojure,Clojure,我向分发版添加了一个依赖项 当我添加一个请求时 (ns simulator.core (:require [distributions.core :refer :all])) 别让莱恩跑。它疯了。它试图找到一个不同的发行包(一个来自白炽灯,但我并没有在任何地方引用白炽灯) 如果我看一下源代码,没有提到白炽灯。这个白炽灯是从哪里来的?我怎么告诉clojure这不是我要找的依赖关系 依赖关系树看起来很干净: [clojure-complete "0.2.5" :exclu

我向分发版添加了一个依赖项

当我添加一个请求时

(ns simulator.core
  (:require [distributions.core :refer :all]))
别让莱恩跑。它疯了。它试图找到一个不同的发行包(一个来自白炽灯,但我并没有在任何地方引用白炽灯)

如果我看一下源代码,没有提到白炽灯。这个白炽灯是从哪里来的?我怎么告诉clojure这不是我要找的依赖关系

依赖关系树看起来很干净:

 [clojure-complete "0.2.5" :exclusions [[org.clojure/clojure]]]
 [distributions "0.1.2"]
   [net.mikera/core.matrix "0.57.0"]
     [org.clojure/tools.macro "0.1.5"]
   [net.mikera/vectorz-clj "0.45.0"]
     [net.mikera/clojure-utils "0.7.0"]
     [net.mikera/vectorz "0.63.0"]
       [net.mikera/mathz "0.3.0"]
       [net.mikera/randomz "0.3.0"]
       [us.bpsm/edn-java "0.4.6"]
   [org.apache.commons/commons-math3 "3.6.1"]
 [nrepl "0.7.0" :exclusions [[org.clojure/clojure]]]
 [org.clojure/clojure "1.10.1"]
   [org.clojure/core.specs.alpha "0.2.44"]
   [org.clojure/spec.alpha "0.2.176"]
看不到白炽灯

如果我加上白炽灯

 :dependencies [[org.clojure/clojure "1.10.1"]
                [distributions "0.1.2"]
                [incanter/incanter-charts "1.9.3"]]
我明白了


更新:通过在一个全新项目中添加白炽灯,该错误得以清除。

0.1.2-SNAPSHOT
时间内,require就在那里

但当时的项目并没有为白炽灯设置可传递的依赖项

确保这一点的最简单方法是打开jar(你可以通过
lein-cp
)并查看一下


此时,您可能只想将incater作为依赖项添加到您的项目中。

谢谢!可能项目已过时,但即使在将依赖项添加到Incater后也无法使其正常工作。请将您的更改和新错误添加到问题中。通过从头开始新项目,最终错误得以清除。请为最后一个错误添加完整的stacktrace。@cfrick刚刚添加。
 [clojure-complete "0.2.5" :exclusions [[org.clojure/clojure]]]
 [distributions "0.1.2"]
   [net.mikera/core.matrix "0.57.0"]
     [org.clojure/tools.macro "0.1.5"]
   [net.mikera/vectorz-clj "0.45.0"]
     [net.mikera/clojure-utils "0.7.0"]
     [net.mikera/vectorz "0.63.0"]
       [net.mikera/mathz "0.3.0"]
       [net.mikera/randomz "0.3.0"]
       [us.bpsm/edn-java "0.4.6"]
   [org.apache.commons/commons-math3 "3.6.1"]
 [nrepl "0.7.0" :exclusions [[org.clojure/clojure]]]
 [org.clojure/clojure "1.10.1"]
   [org.clojure/core.specs.alpha "0.2.44"]
   [org.clojure/spec.alpha "0.2.176"]
 :dependencies [[org.clojure/clojure "1.10.1"]
                [distributions "0.1.2"]
                [incanter/incanter-charts "1.9.3"]]
Syntax error (ClassNotFoundException) compiling at (bid_simulator/core.clj:2:3).
distributions.core

:clojure.main/message
 "Syntax error (ClassNotFoundException) compiling at (bid_simulator/core.clj:2:3).\ndistributions.core\n",
 :clojure.main/triage
 {:clojure.error/phase :compile-syntax-check,
  :clojure.error/line 2,
  :clojure.error/column 3,
  :clojure.error/source "core.clj",
  :clojure.error/path "bid_simulator/core.clj",
  :clojure.error/class java.lang.ClassNotFoundException,
  :clojure.error/cause "distributions.core"},
 :clojure.main/trace
 {:via
  [{:type clojure.lang.Compiler$CompilerException,
    :message "Syntax error compiling at (bid_simulator/core.clj:2:3).",
    :data
    {:clojure.error/phase :compile-syntax-check,
     :clojure.error/line 2,
     :clojure.error/column 3,
     :clojure.error/source "bid_simulator/core.clj"},
    :at [clojure.lang.Compiler analyze "Compiler.java" 6808]}
   {:type java.lang.ClassNotFoundException,
    :message "distributions.core",
    :at
    [java.net.URLClassLoader findClass "URLClassLoader.java" 435]}],
  :trace
  [[java.net.URLClassLoader findClass "URLClassLoader.java" 435]
   [clojure.lang.DynamicClassLoader
    findClass
    "DynamicClassLoader.java"
    69]
   [java.lang.ClassLoader loadClass "ClassLoader.java" 589]
   [clojure.lang.DynamicClassLoader
    loadClass
    "DynamicClassLoader.java"
    77]
   [java.lang.ClassLoader loadClass "ClassLoader.java" 522]
   [java.lang.Class forName0 "Class.java" -2]
   [java.lang.Class forName "Class.java" 427]
   [clojure.lang.RT classForName "RT.java" 2211]
   [clojure.lang.RT classForName "RT.java" 2220]
   [clojure.lang.Compiler resolveIn "Compiler.java" 7395]
   [clojure.lang.Compiler resolve "Compiler.java" 7358]
   [clojure.lang.Compiler analyzeSymbol "Compiler.java" 7319]
   [clojure.lang.Compiler analyze "Compiler.java" 6768]
   [clojure.lang.Compiler analyze "Compiler.java" 6745]
   [clojure.lang.Compiler$VectorExpr parse "Compiler.java" 3260]
   [clojure.lang.Compiler analyze "Compiler.java" 6791]
   [clojure.lang.Compiler analyze "Compiler.java" 6745]
   [clojure.lang.Compiler$InvokeExpr parse "Compiler.java" 3881]
   [clojure.lang.Compiler analyzeSeq "Compiler.java" 7109]
   [clojure.lang.Compiler analyze "Compiler.java" 6789]
   [clojure.lang.Compiler analyze "Compiler.java" 6745]
   [clojure.lang.Compiler$BodyExpr$Parser parse "Compiler.java" 6120]
   [clojure.lang.Compiler$FnMethod parse "Compiler.java" 5467]
   [clojure.lang.Compiler$FnExpr parse "Compiler.java" 4029]
   [clojure.lang.Compiler analyzeSeq "Compiler.java" 7105]
   [clojure.lang.Compiler analyze "Compiler.java" 6789]
   [clojure.lang.Compiler eval "Compiler.java" 7174]
   [clojure.lang.Compiler load "Compiler.java" 7636]
   [clojure.lang.RT loadResourceScript "RT.java" 381]
   [clojure.lang.RT loadResourceScript "RT.java" 372]
   [clojure.lang.RT load "RT.java" 459]
   [clojure.lang.RT load "RT.java" 424]
   [clojure.core$load$fn__6839 invoke "core.clj" 6126]
   [clojure.core$load invokeStatic "core.clj" 6125]
   [clojure.core$load doInvoke "core.clj" 6109]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [clojure.core$load_one invokeStatic "core.clj" 5908]
   [clojure.core$load_one invoke "core.clj" 5903]
   [clojure.core$load_lib$fn__6780 invoke "core.clj" 5948]
   [clojure.core$load_lib invokeStatic "core.clj" 5947]
   [clojure.core$load_lib doInvoke "core.clj" 5928]
   [clojure.lang.RestFn applyTo "RestFn.java" 142]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.core$load_libs invokeStatic "core.clj" 5985]
   [clojure.core$load_libs doInvoke "core.clj" 5969]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.core$require invokeStatic "core.clj" 6007]
   [clojure.core$require doInvoke "core.clj" 6007]
   [clojure.lang.RestFn invoke "RestFn.java" 408]
   [user$eval140$fn__144 invoke "form-init1507618823433517384.clj" 1]
   [user$eval140 invokeStatic "form-init1507618823433517384.clj" 1]
   [user$eval140 invoke "form-init1507618823433517384.clj" 1]
   [clojure.lang.Compiler eval "Compiler.java" 7177]
   [clojure.lang.Compiler eval "Compiler.java" 7167]
   [clojure.lang.Compiler load "Compiler.java" 7636]
   [clojure.lang.Compiler loadFile "Compiler.java" 7574]
   [clojure.main$load_script invokeStatic "main.clj" 475]
   [clojure.main$init_opt invokeStatic "main.clj" 477]
   [clojure.main$init_opt invoke "main.clj" 477]
   [clojure.main$initialize invokeStatic "main.clj" 508]
   [clojure.main$null_opt invokeStatic "main.clj" 542]
   [clojure.main$null_opt invoke "main.clj" 539]
   [clojure.main$main invokeStatic "main.clj" 664]
   [clojure.main$main doInvoke "main.clj" 616]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.lang.Var applyTo "Var.java" 705]
   [clojure.main main "main.java" 40]],
  :cause "distributions.core",
  :phase :compile-syntax-check}}