2017-03-25 12 views

답변

7

버전 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 
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"] 

표시됩니다.

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

그렇게 pandeiro/boot-http 더 이상 기존의 Clojure 버전에 의존하지 않고 부팅 compain은 사라진 : 그럼, 나는이 종속성을 제거하기 위해 한 일은 여기처럼 build.boot에서 배제를 확인하는 것입니다.