我想为使用Boot的项目指定Clojure版本。根据Boot Wiki,实现这一点的方法是在我的项目根目录中的boot.properties
文件中提供BOOT_CLOJURE_VERSION
的值。所以我做了:
$ 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
这在开头添加了两行,对我来说就像注释,在结尾添加了一行,指定引导版本。我对为我的项目指定引导版本没有问题,但维基页面让它听起来像是必需的:
注意:使用
boot.properties
文件时,您还必须将项目固定到特定的启动版本,因为该文件必须指定两个变量。
我有点困惑,为什么页面上特别说要在boot.properties
中添加这三行,而省略它们似乎不会引起任何问题。此外,如果我使用修订控制,我认为没有必要在boot.properties
中放置时间戳。可以省略这些行吗?如果没有,为什么需要它们?
这很可能是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条注释行只是为了提供信息,可以安全地省略。