从maven切换到sbt

时间:2016-04-05 12:11:49

标签: spring scala maven intellij-idea sbt

我正在尝试将简单的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编写类似的配置? 我没有在文档中找到任何类似的东西 感谢

1 个答案:

答案 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。