我正在尝试将简单的Maven项目替换为SBT项目。但是我有 面临的问题很少。在maven我有几个项目的配置文件,如
<profile>
<id>name</id>
<properties>
<tomcatHome>/apache-tomcat-7.0.42</tomcatHome>
<config.folder>/conf/</config.folder>
<data.folder>/conf/data</data.folder>
</properties>
</profile>
可以为maven中的不同版本更改此配置文件
mvn package -P name
或者可以被Intellij Idea用于嵌入式maven构建和服务器启动
此外,属性可以在spring配置中使用(通过占位符)。
<context:property-placeholder location="file:${config.folder} />
我如何为sbt编写类似的配置? 我没有在文档中找到任何类似的东西 感谢
答案 0 :(得分:1)
在sbt文件中,您可以使用scala语法。
简单的例子。
val akkaVersion = util.Properties.propOrNone("akka.version").getOrElse("2.4.3")
libraryDependencies += "com.typesafe.akka" %% "akka-actor" % akkaVersion
当您致电sbt
时,版本将设置为默认值&#34; 2.4.3&#34;。但是当你打电话时:
sbt -Dakka.version=2.3.13
将使用您的版本2.3.13。
使用xsbt-web-plugin的下一个示例。您可以选择JettyPlugin或TomcatPlugin。
val containerPlugin = util.Properties.propOrNone("use.tomcat").
map(_ => TomcatPlugin).getOrElse(JettyPlugin)
enablePlugins(containerPlugin)
致电时:
sbt -Duse.tomcat
将使用TomcatPlugin。否则JettyPlugin。