类路径冲突:org.clojure/clojure版本1.7.0已加载,未加载版本1.8.0 [英] Classpath conflict: org.clojure/clojure version 1.7.0 already loaded, NOT loading version 1.8.0

查看:42
本文介绍了类路径冲突:org.clojure/clojure版本1.7.0已加载,未加载版本1.8.0的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

将build.boot文件从旧项目复制到新项目时,出现以下错误,但在Google上却找不到任何内容:

When copying a build.boot file from an old project to a new one I got the following error and found nothing on Google:

类路径冲突:org.clojure/clojure版本1.7.0已加载,尚未加载版本1.8.0

Classpath conflict: org.clojure/clojure version 1.7.0 already loaded, NOT loading version 1.8.0

推荐答案

您应该只包含与引导环境变量 [org.clojure/clojure"1.8.0"] > BOOT_CLOJURE_VERSION = 1.8.0

You should just include [org.clojure/clojure "1.8.0"] with the same version as boot environment variable BOOT_CLOJURE_VERSION=1.8.0

进入 build.boot 依赖项列表.

摆脱此问题的另一种方法是从列表中的多个依赖项中排除clojure依赖项.

Another way to get rid of this issues is to exclude clojure dependency from several dependencies in the list.

boot show -d

将显示您的依赖项列表,

Will show your list of dependencies,

Classpath conflict: org.clojure/clojure version 1.8.0 already loaded, NOT loading version 1.7.0
2018-01-16 15:05:21.023:INFO::main: Logging initialized @6899ms
[adzerk/boot-cljs "2.1.4" :scope "test"]
[adzerk/boot-reload "0.5.2" :scope "test"]
[hiccup "1.0.5"]
[org.clojure/clojurescript "1.9.946"]
├── [com.google.javascript/closure-compiler-unshaded "v20170910"]
│   ├── [args4j "2.33"]
│   ├── [com.google.code.findbugs/jsr305 "3.0.1"]
│   ├── [com.google.code.gson/gson "2.7"]
│   ├── [com.google.errorprone/error_prone_annotations "2.0.18"]
│   ├── [com.google.guava/guava "20.0"]
│   ├── [com.google.javascript/closure-compiler-externs "v20170910"]
│   ├── [com.google.jsinterop/jsinterop-annotations "1.0.0"]
│   └── [com.google.protobuf/protobuf-java "3.0.2"]
├── [org.clojure/google-closure-library "0.0-20170809-b9c14c6b"]
│   └── [org.clojure/google-closure-library-third-party "0.0-20170809-b9c14c6b"]
├── [org.clojure/tools.reader "1.1.0"]
└── [org.mozilla/rhino "1.7R5"]
[org.clojure/data.json "0.2.6"]
[pandeiro/boot-http "0.8.3"]
└── [org.clojure/clojure "1.7.0"]
[ring/ring-core "1.6.3" :exclusions [[org.clojure/clojure]]]
├── [clj-time "0.11.0"]
│   └── [joda-time "2.8.2"]
├── [commons-fileupload "1.3.3"]
├── [commons-io "2.5"]
├── [crypto-equality "1.0.0"]
├── [crypto-random "1.2.0"]
└── [ring/ring-codec "1.0.1"]
    └── [commons-codec "1.6"]
[ring/ring-jetty-adapter "1.6.3" :exclusions [[org.clojure/clojure]]]
├── [org.eclipse.jetty/jetty-server "9.2.21.v20170120"]
│   ├── [javax.servlet/javax.servlet-api "3.1.0"]
│   ├── [org.eclipse.jetty/jetty-http "9.2.21.v20170120"]
│   │   └── [org.eclipse.jetty/jetty-util "9.2.21.v20170120"]
│   └── [org.eclipse.jetty/jetty-io "9.2.21.v20170120"]
└── [ring/ring-servlet "1.6.3"]

您可以在这里看到的是:

As you can see here is:

[pandeiro/boot-http "0.8.3"]
└─[org.clojure/clojure "1.7.0"]

依赖性,该引导正在抱怨.因此,我摆脱这种依赖的方法是在 build.boot 中进行排除,如下所示:

dependency, which boot is complaining on. So, what I did to get rid of this dependency is to make exclusion in build.boot like here:

[pandeiro/boot-http"0.8.3":排除[org.clojure/clojure]]

所以 pandeiro/boot-http 不再依赖于旧的clojure版本,并且启动组件也消失了.

so pandeiro/boot-http does not depend on old clojure version anymore and boot compain dissapeared.

这篇关于类路径冲突:org.clojure/clojure版本1.7.0已加载,未加载版本1.8.0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆