spring - 从 Maven 切换到 sbt

标签 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 编写类似的配置? 我在文档中没有找到类似的内容 谢谢

最佳答案

在 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/

相关文章:

java - Maven Tomcat7 运行依赖 war

Eclipse、Scala 和 Maven - 未生成类文件

java - 如何使用 ZipEntry 在 Zip 中添加重复文件

java - Spring URI 模式。在正则表达式路径中使用斜杠

java - @EnableEncryptableProperties 不起作用

list - 如何在 Scala 中保持表达式的函数式风格

mysql - CoarseGrainedExecutorBackend ERROR Spark

spring - 如何将前端给出的临时 ID 映射到生成的后端 ID?

Scala 可选最佳实践

配置 Jenkins 编译 git 项目时 JAVA_HOME 设置为无效目录