2017-03-25 17 views

Trả lời

7

Vâng câu trả lời là khá đơn giản. Tôi đã bỏ lỡ tệp tin boot.properties trong thư mục gốc. Chỉ cần tạo một tập tin với nội dung sau:

#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 
0

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.

Các vấn đề liên quan