3

我想为使用 Boot 的项目指定 Clojure 版本。根据Boot Wiki ,执行此操作的方法是在我的项目根目录BOOT_CLOJURE_VERSION中的文件中提供一个值。boot.properties所以我这样做了:

$ cat boot.properties
BOOT_CLOJURE_VERSION=1.7.0

它似乎工作得很好:

$ tail -2 ~/.boot/boot.properties
BOOT_VERSION=2.5.5
BOOT_CLOJURE_VERSION=1.8.0
$ cat build.boot
(deftask version []
  (println "Clojure" (clojure-version))
  (println "Boot core" *boot-version*)
  (println "Boot app" *app-version*))
$ boot version
Clojure 1.7.0
Boot core 2.5.5
Boot app 2.5.5

但是,同一个 wiki 页面特别说明要创建这样的boot.properties文件:

$ boot -V > boot.properties

这在开头添加了两行,对我来说看起来像是注释,最后一行指定了引导版本。我为我的项目指定引导版本没有问题,但是 wiki 页面听起来好像是必需的:

注意:使用boot.properties文件时,您还必须将项目固定到特定的引导版本,因为文件必须指定这两个变量。

我有点困惑为什么页面特别说boot.properties在省略这三行时添加这三行似乎不会导致任何问题。此外,如果我使用修订控制,我认为不需要在boot.properties. 可以省略这些行吗?如果不是,为什么需要它们?

4

1 回答 1

3

这很可能是 wiki 信息过时的情况。从来源

// BOOT_VERSION is decided by the loader; it will respect the
// boot.properties files, env vars, system properties, etc.
// or it will use the latest installed version.

我想您可以认为锁定每个项目的 Clojure 和 Boot 版本是一种很好的做法,因为这将防止将来可能因版本不兼容而出现的任何问题。

Boot 添加的 2 条注释行仅供参考,可以安全地省略。

于 2016-04-09T15:07:16.893 回答