Bạn chỉ nên bao gồm [org.clojure/clojure "1.8.0"]
với các phiên bản tương tự như môi trường khởi động biến BOOT_CLOJURE_VERSION=1.8.0
vào danh sách build.boot
phụ thuộc.
Một cách khác để loại bỏ các vấn đề này là loại trừ sự phụ thuộc của clojure khỏi một số phụ thuộc trong danh sách.
boot show -d
sẽ hiển thị danh sách các phụ thuộc,
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"]
Như bạn có thể thấy ở đây là:
[pandeiro/boot-http "0.8.3"]
└─[org.clojure/clojure "1.7.0"]
phụ thuộc, mà khởi động được phàn nàn về. Vì vậy, những gì tôi đã làm để thoát khỏi sự phụ thuộc này là để đảm loại trừ trong build.boot
như ở đây:
[pandeiro/boot-http "0.8.3" :exclusions [org.clojure/clojure]]
nên pandeiro/boot-http
không phụ thuộc vào phiên bản clojure cũ nữa và khởi động compain biến mất.
Nguồn
2018-01-16 13:15:17