gpt4 book ai didi

scala - 自定义 'run' 类似项目的任务

转载 作者:行者123 更新时间:2023-12-04 21:16:50 25 4
gpt4 key购买 nike

默认情况下,我的 SBT 构建的运行任务执行我在 src/main/scala/ 中(自动)找到的主类.

如何为行为与运行任务类似但在 src/util/scala 中找到主类的项目添加新任务?该任务应该使用 src/main/scala 运行 util main 方法。在类路径上。

我正在使用具有完整多项目配置的 SBT 0.12.4。

最佳答案

我不认为 sbt 会找到你放在 src/util/中的代码......它应该放在 src/main/scala、src/test/scala 等中。你可能想要将实用程序类添加到某种“util"包,可能在 src/main/com/example/util 中,或者将它们放在子项目或依赖项目中,但 sbt 并没有真正设计 (afaik) 能够处理任意目录结构。

至于设置多个main方法,sbt run,如果在src/main/scala中找到多个main方法,会让你选择调用哪一个。

如果它在外部 jar 中,您可能需要:Configuring sbt project to include external Main methods in "sbt run"

我通常做的是运行 sbt console然后直接从那里导入并调用 main 方法。例如:

sbt console
import com.example.Main
Main(new String[])

由于您有子项目,如果您的项目之一是“util”,您应该能够使用类似 sbt util/run 的内容。在 util/src/main/scala 中运行 main 方法。

您还应该可以使用 sbt "util/run-main com.example.MainClass"如果您在一个项目中有多个主要方法。

您也可以考虑使用 sbt start-script 插件:
https://github.com/sbt/sbt-start-script

关于scala - 自定义 'run' 类似项目的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21294093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com