免责声明:我记得以前有过关于此事的问题。现在找不到。
如果在非sbt-project目录中启动sbt
命令,它会立即开始修改目录(s.a.下载文件并创建target/
)。这是不受欢迎的行为,因为所需的只是一个cd ..
而且你正在设置这些鬼项目。
有没有一种标准方法可以防止这种情况发生?
我做了一个小脚本(在~/bin/sbt.sh
中)并将其设置为sbt
(下面)的别名。但是,我希望能够提供一种通用的,更简单的方式让自己感到安全。
#!/bin/sh
if [ -f ./build.sbt ] || [ -f project/build.scala ] ; then
/usr/local/bin/sbt $@
else
echo "No 'build.sbt' or 'project/build.scala' found - may not be a sbt project?"
exit 1
fi
这是在OS X上使用HomeBrew的sbt 0.13.5。
答案 0 :(得分:0)
这是不可能的。事实上,sbt的功能是将任何目录视为项目。我个人非常喜欢它。
至于用另一个回答你的问题 - 为什么你认为某个sbt项目应该有build.sbt
或project/build.scala
?那么其他*.sbt
个文件或project/*.scala
个文件(更不用说project/*.sbt
个文件等)呢?