【问题标题】:Building an SBT project using Maven使用 Maven 构建 SBT 项目
【发布时间】:2025-12-23 11:20:30
【问题描述】:

我正试图通过侧门将SBT 带入我的组织。我们将TeamCity 用于我们的持续集成系统,所有项目都使用Maven 构建。我开始更喜欢 SBT 来构建 Scala 和混合 Scala/Java 项目,但是如果我要求我们的基础架构团队修改持续集成系统以支持 SBT,我会遇到阻力。

我正在寻找一种方法来在我的项目的根目录中提供一个最小的pom.xml 文件,然后调用 SBT 来进行实际的构建。有什么办法可以做到这一点,也许使用 Maven-to-SBT 插件?

【问题讨论】:

    标签: scala maven teamcity sbt


    【解决方案1】:

    我不喜欢反对基础设施,因为我在目前的工作中担任类似的角色。

    但是,您可以下载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 Setup Documentation 进行了测试

    希望对你有帮助。

    【讨论】:

      最近更新 更多