如何为基于sbt
的项目指定自定义目录布局?我一直在查看在线sbt
资料,但我很难找到这些信息......
我在文档中找到的是默认位置:
src/main/scala
和src/main/java
src/test/scala
和src/test/java
src/main/resources
和src/test/resources
lib/
如何在build.sbt
文件中覆盖这些内容?
我的项目结构目前如下:
[workspace]/sandbox-scala/src/sbt/myFirst/
[workspace]/java-lib/common/lib/
任何帮助表示感谢。
答案 0 :(得分:4)
可以覆盖许多sbt的默认目录位置。这是一个覆盖sbt期望找到“非托管”依赖项/ jar文件的目录的示例:
unmanagedBase := baseDirectory.value / "custom-jars-directory"
(更多与the sbt documentation中的依赖关系相关的例子。)
您还可以将目录配置为特定于“任务”...例如,设置测试用例源代码所在的目录,尝试:
scalaSource in Test := { (baseDirectory in Test)(_ / "test") }.value
然后您的核心应用程序源代码可能位于其他位置,例如src/
下:
scalaSource in Compile := { (baseDirectory in Compile)(_ / "src") }.value
注意:对于sbt
的旧版本,您可能需要以下(现已弃用)语法:
unmanagedBase <<= baseDirectory { base => base / "custom-jars-directory" }
scalaSource in Compile <<= (baseDirectory in Compile)(_ / "src")
此语法不适用于较新版本的sbt
(我相信自0.13.13起)。