我正在尝试通过一扇小门将SBT引入我的组织。我们使用TeamCity作为持续集成系统,所有项目都使用Maven构建。我开始更喜欢使用SBT来构建Scala和混合Scala/Java项目,但是如果要求我们的基础设施组修改持续集成系统以支持SBT,那么我会遇到阻力。我正在寻找一种方法,在项目的根目录中提供一个最小的pom.xml文件,然后调用SBT进行实际构建。是否有任何方法可以做到这一点,例如通过Maven-to-SBT插件?
我不是反对基础设施的粉丝,因为我在目前的工作中扮演着类似的角色。然而,你可以下载 sbt-launch.jar 并将其放置在源代码控制存储库中的 build 目录中。然后,在该 build 文件夹内创建一个名为 sbt 的文件,并添加以下内容:#!/bin/bash SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M" java $SBT_OPTS -jar `dirname $0`/sbt-launch.jar "$@" 然后创建一个命令行构建步骤,执行以下操作:sh build/sbt clean compile 这应该会给你想要的东西,不过这假定你有能力设置自己的构建步骤来运行这个自定义脚本。我没有测试过这个,只是根据sbt安装文档来做的。希望能有所帮助。