古いプロジェクトから新しいプロジェクトにbuild.bootファイルをコピーすると、次のエラーが表示され、クラスパスの競合:org.clojure/clojureバージョン1.7.0が既にロードされています。バージョン1.8.0がロードされていません
クラスパスの競合:org.clojure/Clojureのバージョン1.7.0すでに答えは非常に単純であるバージョン1.8.0
古いプロジェクトから新しいプロジェクトにbuild.bootファイルをコピーすると、次のエラーが表示され、クラスパスの競合:org.clojure/clojureバージョン1.7.0が既にロードされています。バージョン1.8.0がロードされていません
クラスパスの競合:org.clojure/Clojureのバージョン1.7.0すでに答えは非常に単純であるバージョン1.8.0
まあをロードしていない、ロードされました。私はboot.propertiesファイルをルートフォルダに見つけられませんでした。ただ、次の内容のファイルを作成します。
#https://github.com/boot-clj/boot
#Sun Nov 01 16:34:27 CET 2015
BOOT_CLOJURE_NAME=org.clojure/clojure
BOOT_VERSION=2.7.1
BOOT_CLOJURE_VERSION=1.8.0
はあなただけbuild.boot
依存関係リストにBOOT_CLOJURE_VERSION=1.8.0
変数ブート環境と同じバージョンの[org.clojure/clojure "1.8.0"]
を含める必要があります。
この問題を解決する別の方法は、リスト内のいくつかの依存関係からclojure依存関係を除外することです。不平を言っているブート
[pandeiro/boot-http "0.8.3"]
└─[org.clojure/clojure "1.7.0"]
依存性は、:あなたはここで見ることができるように
boot show -d
は、依存関係のリスト、
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"]
が表示されます。だから、私はこの依存関係を取り除くためにやったことは、ここのようなbuild.boot
で除外を作ることです。
[pandeiro/boot-http "0.8.3" :exclusions [org.clojure/clojure]]
のでpandeiro/boot-http
はもう古いClojureのバージョンに依存しないとブートcompainはdissapeared。