我正在尝试将简单的 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 编写类似的配置? 我在文档中没有找到类似的内容 谢谢
最佳答案
在 sbt 文件中,您可以使用 scala 语法。
简单的例子。
val akkaVersion = util.Properties.propOrNone("akka.version").getOrElse("2.4.3")
libraryDependencies += "com.typesafe.akka" %% "akka-actor" % akkaVersion
当您调用sbt
时,版本将设置为默认“2.4.3”。但是当你打电话时:
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。
关于spring - 从 Maven 切换到 sbt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36426064/